Сегодня мы можем использовать getDerivedStateFromProps
для компонентов класса и обновления состояния на этапе рендеринга для React-хуков / компонентов функций для создания производного состояния, если это необходимо.
Мне особенно любопытен вариант React Hook: будет ли это разрешено в режиме одновременного реагирования?
Если я оберну компонент ScrollView
из FAQ с помощью StrictMode <React.StrictMode>...</React.StrictMode>
, там не будет никаких предупреждений. Тем не менее, у меня все еще есть небольшое чувство в желудке, этот шаблон может быть проблематичным c с одновременным режимом.
Так что вопрос:
Возможно ли получить производное состояние в React Concurrent Mode в отношении на ссылку FAQ по крюкам?
Пример:
function Comp( {someCond} ) {
const [counter, setCounter] = useState(0);
if (someCond) {
// we are setting derived state directly in render (see FAQ).
setCounter(prev => prev + 1);
// <-- imagine, at this point React aborts this render (and restarts later)
// Does it lead to inconsistencies?
}
// ... return some jsx
}