У меня есть сценарий, в котором в зависимости от условия мне нужно либо обновить состояние на основе предыдущего состояния, либо обновить состояние на основе данных, полученных с сервера. Как лучше сделать это безопасно?
this.setState((prevState: State) => {
if (prevState.condition1) {
return { message: "welcome" };
}
if (prevState.condition2) {
fetch(`http://someurl`)
.then(data => data.json())
.then(jsonData => {
this.setState({ message: jsonData.message });
});
}
return null;
});
Это то, что у меня есть на данный момент. Я обеспокоен тем, что до завершения выполнения обещания могут произойти какие-либо другие обновления состояния, поскольку оно «не ожидается». Я не могу использовать await в setState, так что это не вариант. Любой совет с благодарностью.