デフォルト値をreduxフォームに渡す方法

アディティアクマール

私はreduxフォームを作成しました。これは、ユーザーがプロファイルの詳細を編集できるユーザープロファイルフォームです。バックエンドで利用できる初期値を入れて、後で編集することもできます。しかし、私はdocがhttps://redux-form.com/6.0.0-alpha.4/examples/initializefromstate/と言う方法を試しましたが、まったく機能していません。APIから初期値を取得し、reduxストアに保存しています。

EditFormPage.jsx

let  EditProfileForm =(props) => {


    const [image, setImage]  = useState(null);
    const {handleSubmit, pristine, reset, submitting, classes} = props;

    const dispatch = useDispatch();
    const getDroppedImage = (imageSrc) => {

        setImage(imageSrc);
    }

    const getCroppedImage = (imageUrl) =>{
        //props.getProfileImage(imageUrl);
        dispatch(uploadProfileImage(imageUrl));
    }

    const data = {
        profilePic : props.profileDetail.profilePic,
        name : 'Hell ow',
        dob : props.profileDetail.dateOfBirth,
        sex: props.profileDetail.gender,
        contact: props.profileDetail.phoneNumber,
        address: props.profileDetail.address
    }
    useEffect(() => {

        load(data);
    }, [data])

    return (
        <Grid container className={"container edit_profile"}>
            <Grid className="profile_menu global-padding" container>
                    <form onSubmit={handleSubmit}>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >
                            <Field
                                type="file"
                                name="profilePic"
                                component={EditDropZone}
                                image={image}
                                getDroppedImage={getDroppedImage}
                            />
                        </Grid>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >
                            <Field name="name" component={renderInputField} />
                        </Grid>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >
                            <Field
                                name="dob"
                                showTime={false}
                                component={renderDateTimePicker}
                            />
                        </Grid>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >

                            <Field style={{flexDirection: 'row'}} name="sex" component={renderRadioButton}>
                                <RadioButton value="male" label="male"/>Male
                                <RadioButton value="female" label="female"/>Female
                            </Field>
                        </Grid>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >
                            <Field name="contact" normalize={normalizePhone} component={renderInputField} />
                        </Grid>
                        <Grid
                            container
                            alignItems="center"
                            justify="flex-end"
                            className="profile_menu_list"
                            xs={12}
                        >
                            <Field name="address" component={renderInputField} />
                        </Grid>
                        <div style={{paddingTop: '20px'}}>
                            <LoadingButton type={"submit"} title={'Save'}/>
                        </div>
                    </form>
                </Grid>
                <Grid xs={12}>
                    <ImageModal
                        getCroppedImage={getCroppedImage}
                        image={image}
                    />
                </Grid>
            </Grid>
        </Grid>
    )


}

EditProfileForm = reduxForm({
    form: 'EditProfileForm',

    validate
})(EditProfileForm);
EditProfileForm = connect(
    state => ({
        initialValues: state.editProfileData.profileData
    }),{load: load }
)(EditProfileForm)

export default EditProfileForm;

私がここで立ち往生しているどんな助けも素晴らしいでしょう。

ArtDev

enableReinitialize: trueフォームを渡す必要があります。API呼び出しで値を渡すため、多少の遅延が発生します。しかし、Redux-formはまだ定義されていないデフォルト値を表示しようとしました。そのため、API呼び出しからデフォルト値を表示することはできません。このオプションを有効にすると、小道具が更新されると、プロファイルフォームにそれらの値がデフォルトとして表示されます。

EditProfileForm = reduxForm({
    form: 'EditProfileForm',
    enableReinitialize: true, // need to set as True to reflect updated props.
    validate
})(EditProfileForm);
EditProfileForm = connect(
    state => ({
        initialValues: state.editProfileData.profileData
    }),{load: load }
)(EditProfileForm)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンポーネントからReduxフォームに値を渡す方法

分類Dev

VueJSでホームルートをデフォルト値に渡す

分類Dev

デフォルト値をaltairエンコーディングに渡す方法

分類Dev

Laravel 52つのモデルをフォームに渡す方法

分類Dev

IDを別のビューのデフォルト値に渡す方法

分類Dev

Laravel(ブレード)フォームをデフォルトの@yieldに渡す方法は?

分類Dev

フォームの選択フィールドonChangeにオブジェクト値を渡す方法(Reactを使用、Reduxなし)

分類Dev

フォームでデフォルト値を設定する方法

分類Dev

デフォルト値でSQLにフォームを入力

分類Dev

Spring Webflowに単純な値フォームUIフォームを渡す方法

分類Dev

reduxフォーム選択フィールドにデフォルト値とプレースホルダーを与える方法は?

分類Dev

親フォームから子フォームにデータを渡す方法

分類Dev

Laravel7のフォームにデフォルト値を作成する

分類Dev

Laravelのブール値をフォームからデータベースに渡す方法は?

分類Dev

フォームの値を php データ配列に渡す

分類Dev

フォーム値を別のビューに渡す方法

分類Dev

サーブレットにデータフォームのJPSを渡す方法?

分類Dev

フォームからUserControlに値を渡す方法は?

分類Dev

jqueryでフォームに隠し値を渡す方法

分類Dev

フォームのcommandObject / modelAttributeでSpringMVCにjstl値を渡す方法

分類Dev

PHPSQLフォーム-次のSelectに値を渡す方法

分類Dev

データフレームにデフォルト値を追加する

分類Dev

フォームデータをangularからnodejsに渡す方法

分類Dev

ReactJSのフォームにデータを渡す方法は?

分類Dev

フォームデータをGASに渡す方法

分類Dev

あるフォームから別のフォームの動的に作成されたコントロールに値を渡す方法

分類Dev

フォーム内の選択フィールドのデフォルト値を設定する方法

分類Dev

Pandasデータフレーム列にデフォルト値を代入する方法は?

分類Dev

reduxフォームを使用するときにディスパッチをアクションに渡す方法

Related 関連記事

  1. 1

    コンポーネントからReduxフォームに値を渡す方法

  2. 2

    VueJSでホームルートをデフォルト値に渡す

  3. 3

    デフォルト値をaltairエンコーディングに渡す方法

  4. 4

    Laravel 52つのモデルをフォームに渡す方法

  5. 5

    IDを別のビューのデフォルト値に渡す方法

  6. 6

    Laravel(ブレード)フォームをデフォルトの@yieldに渡す方法は?

  7. 7

    フォームの選択フィールドonChangeにオブジェクト値を渡す方法(Reactを使用、Reduxなし)

  8. 8

    フォームでデフォルト値を設定する方法

  9. 9

    デフォルト値でSQLにフォームを入力

  10. 10

    Spring Webflowに単純な値フォームUIフォームを渡す方法

  11. 11

    reduxフォーム選択フィールドにデフォルト値とプレースホルダーを与える方法は?

  12. 12

    親フォームから子フォームにデータを渡す方法

  13. 13

    Laravel7のフォームにデフォルト値を作成する

  14. 14

    Laravelのブール値をフォームからデータベースに渡す方法は?

  15. 15

    フォームの値を php データ配列に渡す

  16. 16

    フォーム値を別のビューに渡す方法

  17. 17

    サーブレットにデータフォームのJPSを渡す方法?

  18. 18

    フォームからUserControlに値を渡す方法は?

  19. 19

    jqueryでフォームに隠し値を渡す方法

  20. 20

    フォームのcommandObject / modelAttributeでSpringMVCにjstl値を渡す方法

  21. 21

    PHPSQLフォーム-次のSelectに値を渡す方法

  22. 22

    データフレームにデフォルト値を追加する

  23. 23

    フォームデータをangularからnodejsに渡す方法

  24. 24

    ReactJSのフォームにデータを渡す方法は?

  25. 25

    フォームデータをGASに渡す方法

  26. 26

    あるフォームから別のフォームの動的に作成されたコントロールに値を渡す方法

  27. 27

    フォーム内の選択フィールドのデフォルト値を設定する方法

  28. 28

    Pandasデータフレーム列にデフォルト値を代入する方法は?

  29. 29

    reduxフォームを使用するときにディスパッチをアクションに渡す方法

ホットタグ

アーカイブ