2017-06-26 28 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} />

你必須給它的價值作爲道具的形式。