我尝试添加许多芯片(http://react-toolbox.com/#/components/chip),但我真的失败了 React...
链接中的示例仅显示单个可删除芯片。只要有一个可删除的芯片,它就可以工作,但我不能让它与更多的芯片一起工作。
这是我的代码:
import React, { PropTypes } from 'react';
import Chip from 'react-toolbox/lib/chip';
var Chiplist = [
{'id': 1, 'title': 'Keyword 1'},
{'id': 2, 'title': 'Keyword 2'},
{'id': 3, 'title': 'Keyword 3'},
{'id': 4, 'title': 'Keyword 4'}
];
class ChipsList extends React.Component {
constructor(props) {
super(props);
this.state = {deleted : {1: false, 2: false, 3: false, 4: false}};
/*for(i = 0; i < Chiplist.length; $i++){
state.deleted.i = false;
}*/
}
/* for(i = 0; i < Chiplist.length; $i++){
state.deleted.i = false;
}*/
handleDeleteClick(index) {
/*this.setState({
deleted : {1: false, 2: true, 3: false, 4: false}
});
console.log(this);*/
console.log(index);
};
render () {
const mychips = Chiplist.map((chip, index) =>
this.state.deleted[index] ? null : ( <Chip deletable onDeleteClick={this.handleDeleteClick(index + 1)}>{chip.title}</Chip> )
);
return (
<div className="chips-list">
{ mychips }
</div>
);
}
}
export default ChipsList;
为什么,当我想把索引值传给函数的时候,函数一直被调用,不知道为什么……