React: getDerivedStateFromPropsは、setState#13015の後に実行されます。

作成日 2019年12月24日  ·  4コメント  ·  ソース: facebook/react

理想的には、現在のコンポーネントのsetStateのために、getDerivedStateFromPropsを呼び出さないでください。 しかし、それはそのように振る舞っています。 誰かが説明できますか?

#13015で解決策が見つかりませんでした

Question

全てのコメント4件

setStateは、コンポーネントのre-renderにつながります。 コンポーネントのrenderごとに、 getDerivedStateFromPropsを呼び出す必要があります。 これがgetDerivedStateFromProps仕組みです。

考慮すべきことは、マージするために部分的な状態を返す方法です。

サンプルコードがないと、あなたが何を言っているのか、何を求めているのかわかりません。

getDerivedStateFromPropsによって返される状態は、現在のpropsと前のstate両方に基づいているため、 getDerivedStateFromPropssetState後に呼び出されると予想されます。 state 。 したがって、状態が変更された場合( setState呼び出しによって)、派生状態も変更された可能性がありますpropsstate組み合わせであるため) 。

propsが変更されなかった場合、以前は再度呼び出しません
https://reactjs.org/blog/2018/05/23/react-v-16-4.html#bugfix -for-getvalentstatefromprops

コードを共有して、メソッドが実行される理由について具体的な質問をしたい場合は、私たちの1人が調べてみることができます。 今のところ、あなたの質問は答えられたと思いますが:smile:

setStateは、コンポーネントのre-renderにつながります。 コンポーネントのrenderごとに、 getDerivedStateFromPropsを呼び出す必要があります。 これがgetDerivedStateFromProps仕組みです。

考慮すべきことは、マージするために部分的な状態を返す方法です。

ありがとう

@bvaughn 、答えてくれてありがとう

このページは役に立ちましたか?
0 / 5 - 0 評価