検索

ホームページ  >  に質問  >  本文

React のコンポーネントは状態変更後も変更されません (componentDidMount フェッチ)

ニュース アプリを作成するチュートリアルに従っています。newapi からデータを取得しています。コードはチュートリアルと同じですが、状態 (this.state.articles) を更新すると、コンポーネントは変わらないよ。 setState 関数を使用し、コンソールに状態を記録しようとしました。更新後は状態が正常に見え、レンダリング メソッドが実行されましたが、何も変化しませんでした。何か問題が発生した可能性があります

私のコード/コンポーネント

ああああ

P粉384679266P粉384679266515日前683

全員に返信(2)返信します

  • P粉724737511

    P粉7247375112023-09-12 17:52:54

    こんにちは@Curious、あなたのコードは正しいです

    マップを作成するときに注意する必要があるのは

    あなたは

    this.articles を使用しています。これは固定 (エミュレートされた) リストです

    これはdidMount

    で変更した状態であるため、this.state.articlesmapを呼び出す必要があります。

    返事
    0
  • P粉311464935

    P粉3114649352023-09-12 16:04:16

    this.articlesthis.state.articles は同じではありません。

    静的プロパティ this.articles があり、これをレンダリング ロジックで使用します - this.articles.map(...。フェッチにより状態が更新されます ( 通常手術)。###

    this.state.articles からデータを読み取るようにレンダリング ロジックを更新すると、機能するはずです。

    返事
    0
  • キャンセル返事