Запуск рендера на реакте, после завершения работы функции?
Делаю приложении с использованием API unsplash, всё готово на 90% и работает в целом хорошо, кроме одного момента, сейчас опишу в чём именно проблема:
Есть функция "authenticateCode", которая начинает свою работу, и примерно на половине её работы, до того как сработает "setBearerToken"и установится токен, запускается "ReactDOM.render", начинается отрисовка компонентов, в которых запускаются другие функции: для загрузки фотографий, информации о пользователе и т.д., но для их работы нужен токен, который ещё не успел установиться, так как функция "authenticateCode", ещё не закончила свою работу.
Мне необходимо, чтобы рендер сработал только лишь после того, как выполнится функция!
В общем, подскажите пожалуйста, как мне сделать так, чтобы мой сценарий срабатывал: дождаться окончания работы функции "authenticateCode" —> только затем запуск "ReactDOM.render"?
React не ждёт для запуска рендера максимально неудобного момента, чтобы вам насолить. Отрисовку триггерите вы сами, изменяя state или props. Никаких деталей про них вы не привели, так что точнее сказать ничего нельзя.
Попробуйте использовать что-то вроде этого:
class Something {
state = {token: ``}
render() {
if (!this.state.token) {
return null;
}
return <ВсёОстальное/>
}
}