【发布时间】:2017-07-03 10:07:05
【问题描述】:
嗨,我正在尝试使用 reactjs,我有一个数组,我尝试为每个元素生成文本框。这样每个元素都被重命名并保存到新数组中,用于其他目的。我在这里面临的问题是我能够为每个元素生成文本框,但我无法编辑它。所以我在寻求帮助。
class setNewname extends Component {
constructor(props) {
super(props);
this.state = {
oldArr: [apple,orange,grape],
tabName: [],
};
this.onNameEdited = this.onNameEdited.bind(this);
}
onNameEdited(event) {
this.state.tabVal = event.target.value;
var tabName= this.state.tabName.concat(this.state.tabVal);
debugger;
};
render() {
return (
<div>
{this.state.tName.map(x =>
{x}
<input type="text" label={x} key={x.toString()}
onChange={this.onNameEdited} />)}
</div>
);
}
}
function bindAppStateToProps(applicationState) {
debugger;
return {
tableName: applicationState.TableName.saveTable,
};
}
export default connect(bindAppStateToProps)(setNewname);
【问题讨论】:
-
我能看到的一个问题是你直接改变了状态。状态应始终使用 this.setState 函数进行变异。
标签: arrays reactjs react-redux