Будет ли производное состояние разрешено для режима одновременного реагирования? - PullRequest
0 голосов
/ 26 апреля 2020

Сегодня мы можем использовать 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...