0
当我点击'+'计数器的作品,没关系!但是当我点击'添加元素'我的柜台失踪!它不会与其他元素一起移动,如冻结!我认为这种通话环境是真实的,我没有看到任何错误。请帮忙!反应计数器错误
const data = [
\t { id: 2, name: 'element'},
\t { id: 1, name: 'element'},
\t { id: 0, name: 'element'}
]
const appendItem =() => {
data.unshift({
id: data.length,
name: 'element'
})
render()
}
class Counter extends React.PureComponent {
constructor() {
super();
this.state = {
count: 0
}
}
handleClick =() => this.setState({ count: this.state.count + 1 });
render() {
return <span>
{this.state.count}
<button onClick={this.handleClick}>+</button>
</span>
}
}
const ListItem =
(item, idx) =>
<li key={idx}>{item.id} - {item.name} - <Counter /></li>
const List =
\t ({ data }) =>
\t <ul>
{data.map(ListItem)}
</ul>
const ListContainer =
\t() =>
\t <div>
\t <List data={data}/>
<button onClick={appendItem}>add element</button>
</div>
const render =
() =>
ReactDOM.render(<ListContainer />, document.getElementById('container'))
render()
<script src="https://npmcdn.com/[email protected]/dist/react.min.js"></script>
<script src="https://npmcdn.com/[email protected]/dist/react-dom.min.js"></script>
<div id="container">
</div>
太好了!谢谢! – evgkch