私のアプリケーションのストアにはstore.authState
というサブツリーがあります。このサブツリーには、authToken
、isFetching
ブール値、そして最も重要なのはfields
という3つのオブジェクトがあります。私のフォームには、username
とpassword
という2つのフィールドがあります。React + Reduxでフォームフィールド値を動的に設定
私はSET_FORM_FIELD_VALUE
というアクションを作成しました。このアクションは、ユーザーが変更したときに各フィールドの状態を生成して更新する必要があります。
私はSET_FORM_FIELD_VALUE
にfields
オブジェクトを更新したいと思います。ユーザーが通常の両方username
とpassword
フィールドに入力した場合、私のstore.authState
は次のようになります。
{
authToken: undefined,
isFetching: false,
fields: {
username: "Brachamul",
password: "azerty123"
}
}
しかし、私の現在のコードは、実際にはすべてのものを上書きするようだと、私はで終わる:
{
field: {
username: "Brachamul"
}
}
フィールドのデータは、最後に編集したフィールドに基づいて変更されます。ユーザー名かパスワードのどちらかです。ここで
は私のコードです:
switch (action.type) {
case 'SET_FORM_FIELD_VALUE':
let field = {} // create a "field" object that will represent the current field
field[action.fieldName] = action.fieldValue // give it the name and value of the current field
return { ...state.fields, field }
は、どのように私は私の問題を解決するために、それを変更できますか?