【发布时间】:2019-09-01 20:33:12
【问题描述】:
我正在创建我的事件处理程序以允许投票存储在 React 中的数组状态中,但我被卡住了。
经过一番研究,我尝试使用另一个数组进行更新,然后将 setState 与新数组一起使用,但这是不正确的
const App = props => {
const [selected, setSelected] = useState(0);
let [votes, setVotes] = useState([1, 2, 3, 4, 5, 6]);
let newArray = [...votes];
const handleVote = () => {
newArray[selected] += 1;
setVotes([newArray]);
};
return (
<div>
<div>{props.anecdotes[selected]} </div>
<div>has {votes[selected]} votes</div>
<div>
<Button onClick={handleVote()} text="vote" />
<Button onClick={randomAnecdote} text="next anecdote" />
</div>
</div>
);
};
预计会增加 votes[0] 的值,其中我使用从状态中选择的 0 增加一,但我得到一个无限循环。 ALso 之前只是将 1 添加到数组的末尾
【问题讨论】:
标签: javascript reactjs