ReactJSやReact NativeでクラスのコンストラクタにsetState()関数を使用するとどうなりますか?
2023-08-21 04:29:17
質問
興味本位で、もし私が
setState()
関数を使用した場合、何が起こるのでしょうか?
例えば、次のようなものです。
constructor(props) {
super(props);
this.setState({title: 'new title'});
}
Reactのライフサイクルはどうなるんだろう?
Reactの中のコードは読んでないです。そのように書くと何か被害がありそうで怖いです。
どうすればいいのでしょうか?
どのような
setState
が本質的に行うことは、コンストラクタでおそらく必要のないロジックを大量に実行することです。
あなたが
state = {foo : "bar"}
を実行する場合、javascriptオブジェクトに何かを代入するだけです。
state
に、他のオブジェクトと同じように何かを代入します。(これはすべて
state
は、すべてのコンポーネントにローカルな通常のオブジェクトです)。
を使うとき
setState()
とすると、オブジェクトへの代入とは別に
state
はコンポーネントとその子オブジェクトの再レンダリングも行います。コンポーネントはまだレンダリングされていないので、コンストラクタでは必要ありません。
関連
-
[解決済み] Jestの `beforeEach` グローバルは何のためにあるのですか?
-
[解決済み] Apolloクライアントでログアウトした後、ストアをリセットする
-
[解決済み] React テキストを挟んだ横長の仕切りを作る
-
[解決済み] 'Proptypes'が定義されていない
-
[解決済み] Cross-envでyarnの実行時にenv変数が変更されない。
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避する方法は?
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。
-
[解決済み] Reactでグローバル変数を宣言する方法とは?
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React / React Nativeでコンストラクタを使用する場合とgetInitialStateを使用する場合の違いとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Typescript react - モジュール ''react-materialize'' の宣言ファイルが見つかりませんでした。'path/to/module-name.js' は暗黙のうちに any 型を持ちます。
-
[解決済み] ReactJsのCreateClassは関数ではない
-
[解決済み] react nativeで関数だらけのヘルパーファイルを作成する方法は?
-
[解決済み] React TypeScriptで作業しているときに、Jestが予期しないトークンに遭遇した
-
[解決済み] ReactJS - SCRIPT1010: 期待される識別子 - IE11 で本番ビルドが実行されない
-
[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。
-
React はエラー TypeError を報告します。未定義のプロパティ 'XX' を読み取ることができない、問題は解決されました。
-
[解決済み] アクシオスは定義されていません
-
[解決済み] React Router - バージョン更新後のwithRouterでTypescriptエラーが発生する。
-
[解決済み] React JSXのforEach()でHTMLが出力されない