Reactjs 如何让formik在单击时更新输入?

Reactjs 如何让formik在单击时更新输入?,reactjs,formik,Reactjs,Formik,所以我有一个formik表单,我用这个.state设置一个输入值 当页面呈现时,这可以正常工作。但是,我有一个click事件,它将该状态更改为一个新值,但输入值没有更新。我该怎么做 代码: this.state.address_1:'test' 初始值={{ 地址_1:this.state.address_1, }} 地址行1 地址点击=(e)=>{ setState({'address_1':'test 2'}); console.log('address change',this.state

所以我有一个formik表单,我用这个.state设置一个输入值

当页面呈现时,这可以正常工作。但是,我有一个click事件,它将该状态更改为一个新值,但输入值没有更新。我该怎么做

代码:

this.state.address_1:'test'
初始值={{
地址_1:this.state.address_1,
}}
地址行1
地址点击=(e)=>{
setState({'address_1':'test 2'});
console.log('address change',this.state.address_1);
}

查看字段中的添加项

<Field
onChange={this.addressClick}
value={this .state.address_1}
name='address_1'
type='text'
style={{
    borderColor:
        errors.address_1 && touched.address_1 && "tomato"
}}
/>
and 
addressClick = (e) => {

        this.setState({ 'address_1': e.target.value });
        console.log('address change', this.state.address_1);


    }

及
地址点击=(e)=>{
this.setState({'address_1':e.target.value});
console.log('address change',this.state.address_1);
}

如果不起作用,请尝试在提交中告诉我

您可以使用formik的
setFieldValue
函数更新表单的状态值您希望在验证falid upadte value中的值后需要吗不确定我是否了解如何使用setFieldValue,我在google上找不到任何文档。这个输入需要可以输入,但是如果你使用addressClick,用state值填充它。这是一个地址查找函数,当您从api调用中选择一个地址时,会用该数据填充输入。但它不起作用。组件正在将文本类型的受控输入更改为不受控。Mohammed_Alreai解决方案用于将数据添加到输入,但现在您通常无法在输入中键入任何内容。
<Field
onChange={this.addressClick}
value={this .state.address_1}
name='address_1'
type='text'
style={{
    borderColor:
        errors.address_1 && touched.address_1 && "tomato"
}}
/>
and 
addressClick = (e) => {

        this.setState({ 'address_1': e.target.value });
        console.log('address change', this.state.address_1);


    }