2017-06-09 20 views
0

コンポーネントがマウントされると、オブジェクトの配列を持つオブジェクトを返すajaxリクエストを作成しています。React.js - 未定義のプロパティ 'map'を読み取ることができません

​​

この機能の中では、データに効果的にアクセスできます。

console.log(pages.pages[0].description)

正しいページの説明を印刷します。

で、私は私のリターンにアクセスするための変数に状態を設定していレンダリング:クロームでCONSOLE.LOG

render() { 

    const pages = this.state.pages.pages 
    console.log(pages) 

return (

は次のとおりです。

(55) [Object, Object, Object, Object,... 

私はその後、反復処理しようとしていますマップを使用してアレイ:

return (
    <div> 
    <Nav /> 
    { pages.map((post, index) => (

これは、ページを破壊し、エラーは次のとおりです。Cannot read property 'map' of undefined at Pages.render

私は、このオブジェクトとその内部の配列にアクセスするためのさまざまな方法を試しましたが、個々の配列項目をレンダリング関数内に表示することはできません。

答えて

0

は、Ajaxリクエストが完了する前にrenderメソッドが呼び出されるので、それが最も可能性が高いですrenderメソッド

const pages = this.state.pages.pages || [ ] 

にこのラインを使用してみてください。したがって、最初にthis.state.pages.pagesundefinedです。

+0

"これは、ajaxリクエストが完了する前にレンダリングメソッドが呼び出されている可能性が高いです" - ああ、おそらくそうだね。 –

関連する問題