Я только начинаю изучать ReactJS. Я хотел бы знать, что лучше, учитывая сценарий: родительский компонент делает запрос GET
на какой-то сервер, возвращая объект JSON
. Я хочу передать эти атрибуты дочернему компоненту. Однако не все атрибуты JSON могут отображаться непосредственно в представлении дочернего компонента (т. е. я не могу использовать props.XXX
в дочернем компоненте). Либо родительский компонент запускает код предварительной обработки, чтобы правильно упаковать данные для дочернего компонента, либо дочерний компонент выполняет предварительную обработку до того, как отобразит собственное представление.
Должен ли родительский или дочерний компонент запускать код предварительной обработки?
Все, что вы сделали, хорошо, но я не знаю, используете ли вы компонент класса или функциональный компонент? И когда вы получили JSON, вы сохранили его в состоянии родителя или как? Вам нужно поместить данные json в состояние, но лучший вариант — использовать избыточность. redux.js.org/introduction/getting-started, react-redux.js.org/introduction/getting-started
Я использую функциональный компонент как для родителя, так и для ребенка. Но я понял одну вещь. Если я помещу функцию обработки в дочерний компонент, функция будет вызываться до того, как данные будут получены, потому что хук
UseEffect
для извлечения данных запускается после методаrender
в родительском компоненте.