javascript - reduxのデータをリストページから取得すると、リストコンポーネントで2回出力されるのはなぜですか?
黄舟
黄舟 2017-06-12 09:24:50
0
2
624

テクノロジー スタック: React Redux React-router v4

redux のデータをリスト ページから取得した場合、リスト コンポーネントにデータが 2 回表示されるのはなぜですか?一度印刷するだけで十分です。
初めてリストを印刷するときはデータがありませんが、2 回目にはデータがあり、問題が発生します。リストから詳細に移動し、詳細が返されると、初回は何もありません。 let listItems = this.props .topics.map(function (topic) {...})ここでエラーが報告されますUncaught TypeError: のプロパティ 'map' を読み取れません未定義###。

まったく理解できません。長い間取り組んできました... /doge/doge/doge

コードはここにあります: http://git.oschina.net/アラン9...

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(2)
给我你的怀抱

完全なコードが表示されません。推測してみましょう。データはネットワークから非同期的に要求され、コンポーネントはすぐにロードされます。
つまり、データがない場合、レンダリングも初期化されますよね?データが戻ってくると、状態の変化に応じて再レンダリングされます。問題はありません。

そして、このエラーの鍵は defaultProps.topics の値を処理していないことだと思います。簡単に言えば、これは、最初にデータがなかったときにトピックの値が未定義であることが原因であると考えられます。

いいねを押す +0
三叔

最初に渡されたトピックは空であるため、データを取得した後、props.topics が変更され、コンポーネントが更新されます。
報告されたエラーは、トピックが配列ではないことを示しています。言い訳を確認してください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!