2016-07-30 84 views
1

我在React jsx中迭代出現問題。在React JSX中迭代

我想使代碼去

value={('this.props.message.text1)} 
    value={('this.props.message.text2)} 

但我有與「價值= {('this.props.message.text1)}」部分編碼的麻煩。

我要像做

value={('this.props.message.' + key)} 

下面是我的代碼;

constructor(){ 
    super(); 
    this.state = { 
    message: { 
     text1: "hello1", 
     text2: "hello2" 
    } 
    } 
} 

renderMessage(key){ 
    return (
     <div className="fish-edit" key={key}> 
     <input 
     type="text" 
     value={('this.props.message.' + key)} 
     onChange={this.props.handleChange} 
     /> 
     </div> 
    ) 
    } 

render() { 
    return (
    <div> 
     {Object.keys(this.props.message).map(this.renderMessage)} 
    </div> 
    ) 
} 
}; 
+0

我看了你的代碼,我覺得你並不想'this.props.message'但'this.state.message',你呢? –

+0

[使用變量動態訪問對象屬性](http://stackoverflow.com/questions/4244896/dynamically-access-object-property-using-variable) –

回答

2

使用squarebracket訪問符號,value={this.props.message[key]}