1.Не изменяйте this.state
В handleOnClick()
, не пишите this.state.li.push(newListItem)
.
Вместо этого создайте клон this.state.li
, добавьте newListItem
в этот клон иустановите состояние li
для нового клона:
handleOnClick(e) {
e.preventDefault();
this.setState({
li: [
...this.state.li, // spread out the existing li
this.state.ActiveText // append this newListItem at the end of this array
]
});
}
2.Рассмотрим деструктурирование
В вашем render()
вы можете деструктировать this.state.li
:
render() {
const { li } = this.state
return (
<React.Fragment>
...other stuffs
<ul>
{li.map(e => (
<li>{e}</li>
))}
</ul>
</React.Fragment>
);
}