Ожидать редукса реквизита в componentDidMount - PullRequest
0 голосов
/ 27 августа 2018

Я хочу загрузить что-то из моей конечной точки API в componentDidMount, но для этого нужно, чтобы в него было передано что-то еще из хранилища редуксов.

Дело в том, что componentDidMount запускается до того, как реквизитызаполняются из redux, поэтому токен jwt auth еще не находится в состоянии redux, и я получаю сообщение об ошибке 401.

Как я могу получить код для ожидания загрузки состояния избыточности, затем вызватьфункция, или она имеет цикл каждый, скажем, 500 мс, пока не будут идентифицированы реквизиты?

Если есть место, отличное от componentDidMount Я должен поставить его, я открыт для предложений.

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Вы используете componentWillReceiveProps метод жизненного цикла, который отслеживает поступающие реквизиты.

componentWillReceiveProps(nextProps){
 if(this.props.auth.token !== nextProps.auth.token){
   //make a api call here
 }
}
0 голосов
/ 27 августа 2018

Вы можете подождать, пока токен не получит значение.Например, вы можете отображать индикатор прогресса, пока он не получит значение.Если он получает значение, вы показываете свой компонент с помощью componentDidMount.

render() {
   const {authToken} = this.props;
   return (
     <div> 
       {!authToken && ProgressIndicator}
       {authToken && ComponentWithApiFetch}
     </div> 
   )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...