問題タブ [use-reducer]

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 に答える
54 参照

reactjs - typescriptに変換しようとしています..アクションタイプとペイロードを作成する方法がわかりません..私はuseContextを使用してReducerを使用しています

typescriptに変換しようとしています..アクションタイプとペイロードを作成する方法を理解できません..私はuseContextを使用してReducerを使用しています.ピラロードを提供するには、これが私の状態です

}

デフォルトの AlertState をエクスポートする

これは私の減速機です

これで私が提供したアクションタイプは任意ですが、ここの./typesファイルからのタイプが必要です

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

reactjs - React でのレデューサーの実行順序

ここでは、「React が setState が呼び出されたのと同じ順序で状態を更新することを信頼できますか... はい」と述べられています。私の質問は、ディスパッチ (useReducer) イベントも呼び出されたのと同じ順序で実行されるということですか? たとえば、次のようなことを考えてみてください。

レデューサー関数内のすべてのロジックがパラメーター 'a' で実行され、パラメーター 'b' で実行されることを確認できますか(パラメーター 'b' を使用した呼び出しは、最初の呼び出しによって変更された状態を使用します)。

変更: レデューサーと setStates の組み合わせはどうですか? 呼び出しの順序も守られていますか? たとえば、setState、レデューサー (setState で設定された状態の値を使用します)。

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

javascript - ブール状態セッターを再利用可能にする方法

現在、ヘッダー付きのページがあります: h1、h2、h3。ユーザーのonClickがテキストを編集できるようにしたいので、基本的にヘッダーはinput type = 'text'になり、ユーザーが入力に値を入力し終わるとヘッダーに戻ります。この機能は、それぞれに関連する対応する値をディスパッチする useReducer フックを使用して非常にうまく機能しています。ただし、3 つのコンポーネントすべてで textIsEditing prop/boolean を再利用可能にする方法を理解するのに苦労しています。コードでもう少し説明しましょう。

JSON データ:

3 つのヘッダーを保持するコンポーネント:

レデューサー:

RenameInput:

私の MetaData コンポーネントでは、コードのこの部分が本当に好きではありません

実際には同じことをしているので、これを 3 つのコンポーネントすべてで再利用できるようにしたいと考えています。これらの 3 つすべてを処理する 1 つの関数が必要ですが、どこで、どのようにこれを行うのか本当にわかりません。これをレデューサーで行うか、どうすればこれをファクトリー関数に変換できますか? 私がやった方法よりも良い方法があるに違いない{nameIsEditing ? renameComponent : h1 {campaignIsEditing ? renameComponent : h2 {descriptionIsEditing ? renameComponent : h3