Nul*_*rue 2 javascript reactjs
我怎么能让每个<li />接收onClick事件的人一次只能一个人开火?
我的目的是根据点击事件更改颜色并显示/隐藏内容.它可以工作,但是当点击给定的<li/> 所有兄弟姐妹时,同时也会被解雇.
我怎么能阻止这个?
function App() {
return (
<div className="App">
<Market />
</div>
);
}
class Market extends Component {
constructor() {
super();
this.state = {
isColor: false,
isShow: false,
fruits: ["Apple", "Banana", "Peach"]
};
}
handleToggle = () => {
this.setState(currentState => ({
isColor: !currentState.isColor,
isShow: !currentState.isShow
}));
};
render() {
const fruits = this.state.fruits.map((item, i) => (
<li
key={i}
className={this.state.isColor ? "blue" : "red"}
onClick={this.handleToggle}
>
{item}
<span className={this.state.isShow ? "show" : "hide"}>Show Text</span>
</li>
));
return <ul>{fruits}</ul>;
}
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Run Code Online (Sandbox Code Playgroud)