#reactjs #typescript
Вопрос:
У меня есть состояние, которое связано с некоторыми типами входных данных:
const [unit, setUnit] = useState('1');
const [value, setValue] = useState('1');
Я передаю их в качестве реквизита для функционального компонента, подобного этому:
<ComponentButton props={[unit, value]} />
Это, в свою очередь, вызывает нижестоящие асинхронные вызовы API к серверам для выполнения. Я хотел бы повторно отображать этот компонент кнопки(который является функциональным) каждый раз при изменении состояния. В настоящее время он просто отображает первые значения или значения по умолчанию, где в идеале он должен динамически извлекать значения из входных данных в состояние.
Если у вас есть лучший подход, пожалуйста, предложите.
Комментарии:
1. вам необходимо обновить значение состояния с помощью setUnit или setValue, это вызовет повторную визуализацию
Ответ №1:
Если вы передадите состояние в виде массива, это может привести к тому, что дочерний компонент не будет повторно оценен, поскольку он является ссылочным типом, а не типом значения.
Я бы предложил передать государство в качестве отдельного реквизита.
Пример:
<ComponentButton unit={unit} value={value} />