問題タブ [setstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
930 参照

native - 送信された変数でネイティブ setState に反応する

入力フィールドのテキストが特定の変数を変更するために変更されたときに変数を送信して、同じ関数を再利用できるようにする方法を知りたいです。

テキストを変更すると、「性別」の状態が変更されますが、「名前」の状態を変更すると、すべて同じ機能で変更されます。また、テキストが変更されると、同じ関数でその変数の状態が変更される他のフィールドを追加する必要があります。

0 投票する
3 に答える
2057 参照

reactjs - ReactJS - アンマウントおよびマウント時の setState エラー

私は React を初めて使用するので、正しい考え方を理解していない可能性があります。

マウントおよびアンマウントできる自動更新データ コンポーネントを実行したいと考えています。

これは、コンポーネントをアンマウントしてからマウントしたときに発生するエラーです。

警告: setState(...): マウントされたコンポーネントまたはマウントされたコンポーネントのみを更新できます。これは通常、マウントされていないコンポーネントで setState() を呼び出したことを意味します。これはノーオペレーションです。MeasurementsDataTable コンポーネントのコードを確認してください。

コードは次のとおりです。

0 投票する
2 に答える
1593 参照

meteor - 既存の状態遷移中は更新できません

meteor プロジェクトをロードすると、ブラウザーがクラッシュし続けます。this.setState({input_36:currentApp.input_36});App.jsx ファイルでコメントアウトした場合にのみ、ブラウザのクラッシュを回避できます。<ul>プロジェクトがクラッシュせずに読み込まれ、 のハイパーリンクをクリックするとフォームが再レンダリングされるようにコードを修正する方法を誰か教えてもらえますか? href=また、リンクが WCAG に準拠しており、属性が存在することを確認して検索エンジンが最適化されていることを確認してください。

これが私のプロジェクトです...ターミナルコマンドラインで

次に、プロジェクトに次のファイルがあります

crudapp.html

crudapp.jsx

App.jsx

次に、コマンド ラインに移動して入力meteorし、プロジェクトを起動します。次に、Web ブラウザーに移動します。テキスト フィールドが表示されるので、何かを入力して Enter キーを数回押すと、作成した各フォームのリストが自動的に表示されます。

次に、太字の行のコメントを外して App.jsx を変更します。プロジェクトが再コンパイルされます。次に、Web ブラウザーにアクセスすると、エラー メッセージが表示される無限ループのためにフリーズします。

既存の状態遷移中 (「render」内など) は更新できません。Render メソッドは props と state の純粋な関数でなければなりません。

プロジェクトをロードし、リンクをクリックするとフォームが再レンダリングされるように、この状況を修正するにはどうすればよいですか?

0 投票する
1 に答える
1740 参照

reactjs - 無視されたテキストエリアの setState に反応する

私は単純な隕石+反応CRUDアプリに取り組んでいます。以下のコードでは、 mythis.setState()は に何の影響もないようです<textarea>。そのため、リンクをクリックしてフォームを再レンダリングすると、関数は要素clickLoadForm(appId)の状態を適切に更新しますが、すべてのフィールドにコンテンツがあることを console.log が明確に示していても更新しません。私は何を間違えましたか?<input><textarea>

0 投票する
1 に答える
1560 参照

reactjs - React componentDidMount() はマウントされていないコンポーネントで起動されます

データ ストアから promise を呼び出す単純な反応コンポーネントがcomponentDidMount警告をスローしています。

警告: setState(...): マウントされたコンポーネントまたはマウントされたコンポーネントのみを更新できます。これは通常、マウントされていないコンポーネントで setState() を呼び出したことを意味します。これはノーオペレーションです。LocationNameView コンポーネントのコードを確認してください。

真/偽console.logかどうかを確認するためにいくつかのデバッグを投げました。内部は最初に偽を返し、次に再び真になります。ドキュメントが明確なのか、名前がここで私の推論をゆがめているのかはわかりませんが、コンポーネントが実際にマウントされている場合にのみ、このメソッドを呼び出す必要があるようです。this.isMounted()componentDidMount this.isMounted()componentDidMount

ここにリンクの説明を入力

0 投票する
7 に答える
232027 参照

javascript - setState の更新が完了した後に関数を実行できますか?

私は ReactJS に非常に慣れていません (今日始めたばかりです)。仕組みがよくわかりませんsetState。React と Easel JS を組み合わせて、ユーザー入力に基づいてグリッドを描画しています。ここに私の JS ビンがあります: http://jsbin.com/zatula/edit?js,output

コードは次のとおりです。

ドロップダウンの 1 つを使用して行または列の数を変更すると、JSbin で確認できますが、最初は何も起こりません。次にドロップダウン値を変更すると、グリッドは前の状態の行と列の値に描画されます。私のthis.drawGrid()関数setStateは完了する前に実行されているため、これが起こっていると推測しています。多分別の理由がありますか?

お時間をいただきありがとうございます。

0 投票する
1 に答える
1513 参照

javascript - React-Router Children での Ajax リクエストのレンダリング

React-Router と AJAX リクエストに問題があります。

index.js (エントリ ファイル) は次のとおりです。

App.js ファイルには render 関数のみがあり、それが返されます

ユーザーコンポーネントを呼び出します。User ファイルはほぼ同じです。

UserView.js ファイルで、スーパーエージェントを使用して AJAX リクエストを作成します

しかし、これは機能せず、次のエラーが表示されます。

なんで?エラーは、子を通じて親の状態を操作しようとしていることにあると思います。

0 投票する
4 に答える
924 参照

javascript - setState onClick を使用して変数を状態にすることができません

React プロジェクトを実行すると、同様の問題が発生し続けます。クリック時に setState を使用して変数を状態にするのに問題があります。この場合、対応するボタンがクリックされたときに、プレーヤー オブジェクトを ActivePlayer として状態に渡すことができません。ただし、変数として設定することはできますが、アプリの他のケースでは、状態にする必要があり、これは最も簡単な例のように思えました。

0 投票する
1 に答える
372 参照

properties - 入力フィールドを扱うときに React setState() を処理する方法は?

私は3つのテキストボックスを持っています。ドロップダウンメニューが1つあります。

アプリが起動またはページが読み込まれると、テキスト ボックスが空になり、ドロップダウンにさまざまな製品が表示されます。

ドロップダウン リストからアイテムを選択すると、そのオブジェクトがテキスト フィールドにロードされて編集されます。

プロパティ (this.props) を使用すると、データはテキスト ボックスに正しく読み込まれますが、代わりに状態を使用して行う必要があるため、テキストを編集できません。

しかし、状態 (this.state) を使用すると、コンポーネントは決して同期しません。ドロップダウンからアイテム 1 を選択すると、状態にロードされますが、ドロップダウン リストから別のアイテムを選択するまで画面にレンダリングされません。

したがって、アイテム 2 を選択すると、アイテム 1 がテキスト ボックスに読み込まれます。

React ドキュメントからの引用。

「setState() はすぐに this.state を変更しませんが、保留中の状態遷移を作成します」

皆さんはこれにどのように対処していますか?全部試した感じです。