2016-11-16 3 views
0

Получение данных из Ajax вызова и сохранения в компоненте состоянияReact компонент реквизита родитель не переходя к ребенку компонента

_getDataFromServer(){ 
reqwest({ 
     url: 'http://127.0.0.1:8000/api/example/' 
    , type: 'json' 
    , method: 'get' 
    , contentType: 'application/json' 
    , crossOrigin: true 
    , withCredentials: false 
    , error: function (err) { } 
    , success: function (resp) { 
     const data = resp 
     this.setState({config:data}) 
     }.bind(this) 
    }) 
} 

componentWillMount(){ 

    this._getDataFromServer() 
} 

и передавая данные JSON в состоянии детского компонента в методе визуализации

render() { 
    return (
     <Panel> 
      <AppDynamic uiConfig={this.state.config}/> 
     </Panel> 
    ); 
} 

Но реквизит пуст в детском компоненте. Не понимаю, почему реквизит не переходит к дочернему компоненту.

+0

Любые ошибки в консоли? –

+1

Помните, что для вызова сети требуется некоторое время, поэтому при первоначальном рендере конфигурация еще не будет находиться в состоянии компонента. – ArneHugo

+0

Проблема разрешена. После передачи параметров в дочерний компонент я сохранял их в состоянии. Это ошибка, я сделал –

ответ

0

Попробуйте привязать контекст к _getDataFromServer внутри конструктора.

Javascript

constructor(props){ 
    super(props); 
    this._getDataFromServer = this._getDataFromServer.bind(this) 
}