問題タブ [primereact]

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 投票する
3 に答える
132 参照

reactjs - React イベント ハンドラーがモードを期待どおりに割り当てず、null として評価される

次のようなページがあります。

ここに画像の説明を入力

行の編集ボタンをクリックすると、コンポーネントは選択されたエンティティをその行に設定し、それ自体を「編集」モードにすることになっています。

ただし、右上にボックス (ここでは toast と呼ばれるコンポーネント) を表示する場合、モードはnull最初のクリックで評価されます。

ここに画像の説明を入力

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

質問:

ここで何が問題なのですか?

これによれば

React は状態更新の順序を維持しますか?

メソッド コールバック、別名イベント ハンドラー、モードの更新に問題はないはずです。

this.state.mode常にnull最初のクリックです。その後のクリックでは、どの行でも正しいモードが表示されます。

なんで?

これを修正するにはどうすればよいですか?

ところで:this.state.selectedEntityトーストを使ったオンラインnullも同様です。

私はこれを理解するのに苦労しています。-> 自己学習者

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

reactjs - テキスト ボックスに入力すると、InputText コンポーネントが TypeError: e.target is null になります (PrimeReact ライブラリ、アロー関数を使用)

私は PrimeReact を使用しており、人のデータテーブルがあります。

ここに画像の説明を入力

任意の行を選択すると、ドロップダウン、チェック ボックス、およびテキスト入力を含むサブ パネルが表示されます。

ここに画像の説明を入力

テキスト入力コード:

と呼ばれるネストされたプロパティで名の状態を保持しますselectedEntitysetStateこれは、ここでの呼び出しで唯一の単純ではない構造についてです。ただし、これにより、入力するとすぐにブラウザーにエラーが表示されます。

ここに画像の説明を入力

質問:

どうしたの?

これは PrimeReact のバグですか?

PrimeReact 5.0.0-rc2 を使用しています。


編集1:

ところで、そこに表示されるドロップダウンとチェックボックスは、矢印機能で動作するようです。同様のコード:

落ちる:

チェックボックス:


編集2:

ここにテストケースを作成しました:

https://codesandbox.io/s/primereact-test-forked-4blln?file=/src/index.js

私にはバグのように見えます...

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

reactjs - コールバック時に PrimeReact Autocomplete で completeMethod をトリガーする

プライマーリアクトのオートコンプリート コンポーネントを使用しています。課題は、オプション配列をコンポーネントの読み込み時の状態に設定したくないということです。代わりに、ユーザーが最初の 3 文字を入力したときに API 呼び出しを起動し、応答をオプション配列として設定します (そうしないと、配列が大きくなる可能性があり、状態メモリを肥大化させたくないためです)。

ここでの問題は、3 文字を入力すると呼び出しがトリガーされることですが、オプションは 4 文字目を入力したときにのみ表示されます。それは大丈夫だったでしょう.2文字を入力したときに呼び出しを開始するようにコードを変更しようとしました. しかし、これは API 呼び出しが完了した後に 3 番目の文字を入力した場合にのみ期待どおりに機能します。つまり、2 文字を入力し、呼び出しが完了するのを待ってから 3 番目の文字を入力します。

オプション配列が変更されたときにオプションを表示するにはどうすればよいですか?

コールバックでfilteredOriginsを設定してみました

しかし、どうやらうまくいかないようです。