2017-06-26 27 views
0

这是一个onClick处理程序,火灾:this.props.change不会引起新的价值重新渲染

fieldClicked(field) { 

let selectedDescription = this 
    .props 
    .serviceConfigInfoValue 
    .find(x => x.Name == field) 
    .Description 

this 
    .props 
    .change('currentFieldDescription', selectedDescription) 

} 

原因的正确值的形式状态进行设置,并导致一个字段更新即设置为在窗体的其他位置读取该值。

<Field 
      name="currentFieldDescription" 
      component={SimpleTextAreaInput} 
      rows={10} 
      cols={50}/> 

这里是SimpleTextAreaInput组件。事实上,在Chrome中进行调试时,我甚至可以看到传递给该值的正确描述。

问题是屏幕不会使用更新后的描述值进行渲染。

import React, {Component} from "react"; 

export default(field) => { 

const { 
    input: { 
    value, 
    onChange 
}, 
rows, 
cols 
} = field 

return (
    <div> 
    <p>Redux-forms Text Area</p> 
    <textarea rows={rows} cols={cols}>{value}</textarea> 
    </div> 
) 

} 

回答

1

在React中,a改为使用value属性。这样一来,使用形式可以非常相似写入到使用单行输入

<textarea value={this.state.value} onChange={this.handleChange} />

你必须给它的价值作为道具的形式。