Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在redux表单中重置初始值_Reactjs_Redux_Redux Form - Fatal编程技术网

Reactjs 如何在redux表单中重置初始值

Reactjs 如何在redux表单中重置初始值,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我用的是redux表单。我在状态的输入字段中显示初始值。 当我单击reset时,输入字段仍然显示初始值 如何重置输入字段 这是我的代码: const mapStateToProps = (state) => { return { initialValues: { name:state.userInfo.data.name, email:state.userInfo.data.email, pho

我用的是redux表单。我在状态的输入字段中显示初始值。 当我单击reset时,输入字段仍然显示初始值

如何重置输入字段

这是我的代码:

const mapStateToProps = (state) => {
    return {
        initialValues: {
            name:state.userInfo.data.name,
            email:state.userInfo.data.email,
            phone:state.userInfo.data.phone,
            city:state.userInfo.data.city.name,
        }
    };
}
这就是我在输入字段中调用初始值的方式

const renderField = ({ input, label, type, meta: { touched, error } }) => (
    <div>
        <input className="form-control control_new" {...input} placeholder={label} type={type}/>
    {touched && ((error && <span>{error}</span>))}
    </div>
)

<Field type="text" {...name} name="name" component={renderField} label="Enter Your Name" />
const renderField=({input,label,type,meta:{toucted,error}})=>(
{触摸&((错误&&{error}))}
)

谢谢

Harsha的回答是正确的,但是您也可以从装饰过的表单组件内部调用已经知道您的表单名称的


您可以在表单上的.

TLDR:set
enableReinitialize:true
中的“清除值”按钮上看到它的作用


我最近也遇到了同样的问题,并且看到了这篇文章,没有一个答案是有效的。终于找到了解决方案,希望这能帮助其他人。问题是在重置表单时,这些初始值没有重置。这是一个关于它的询问,这是一个关于它的询问,单击clear(清除)按钮后调用一个不同的函数,如下所示

onClick={this.onClearChanges}
以这种方式将initialValue传递给函数,正如大家提到的,不要忘记设置enableReinitialize:true

onClearChanges = () => {
  const { reset, onClearChanges, InitialValues } = this.props;
  reset();
  onClearChanges(InitialValues);
};

如果没有可调用的方法按钮,也可以在构造函数内部重置

我使用抽屉导航器导航到不同的屏幕(不是一个带有onClick方法的可点击按钮),所以我不得不重置

constructor(props) {
  super(props);
  this.props.reset(); //<-- this
}

对于该表单。

如果传递
初始值,则这似乎不起作用。表单保留了旧的初始值,然后切换到新的。谢谢你,先生。赞美你。有同样的问题,这解决了它。谢谢我认为这应该是公认的答案。
constructor(props) {
  super(props);
  this.props.reset(); //<-- this
}
enableReinitialize: true