react setState Несколько вызовов подряд (например в useEffect) - staet не изменяется. Как использовать функцию
Primary tabs
В связи с оптимизациями производительности вызовы "поряд" могут затирать один другой, в таком случае для setState рекомендуется (см. подробности) передавать функцию вместо значения, т.е. например, идущие подряд вызовы типа (внутри хука):
React.useEffect(
() => {
setState({ ...state,
type: props.defaultTypeId });
},
[props.defaultCampaignTypeId]
);
React.useEffect(
() => {
setState({ ...state,
status: props.defaultStatusId });
},
[props.defaultCampaignStatusId]
);
можно заменить на те, что используют функцию:
React.useEffect(
() => {
setState((state) => {
return { ...state,
type: props.defaultTypeId };
});
},
[props.defaultCampaignTypeId]
);
React.useEffect(
() => {
setState((state) => {
return { ...state,
status: props.defaultStatusId };
});
},
[props.defaultCampaignStatusId]
);
- Log in to post comments
- 3167 reads