gpt4 book ai didi

javascript - ReactJS:组件不会在状态更改时重新渲染

转载 作者:行者123 更新时间:2023-12-01 00:15:53 25 4
gpt4 key购买 nike

我正在尝试使用 react Hook 更新点击事件的状态。状态发生变化,但组件不会重新渲染。这是我的代码片段:

function ThirdPage() {
const [selectedIngredients, setSelectedIngredients] = useState([])

const DeleteIngredient = (ingredient) => {
let selectedIngredientsContainer = selectedIngredients;
selectedIngredientsContainer.splice(selectedIngredientsContainer.indexOf(ingredient), 1);
setSelectedIngredients(selectedIngredientsContainer);
console.log(selectedIngredients);
}


const selectedIngredientsDiv = selectedIngredients.map(ingredient =>
(
<div className={styles.selectedIngredientsDiv}>{ingredient}
<div className={styles.DeleteIngredient}
onClick={() => {
DeleteIngredient(ingredient)}}>x</div></div>
))

return (
...

我做错了什么?预先感谢!

最佳答案

您的拼接问题,因为它没有保存到 selectedIngredientsContainer。我会做以下事情:

selectedIngredientsContainer = selectedIngredientsContainer.filter(value => value !== ingredient);

selectedIngredientsContainer.splice(selectedIngredientsContainer.indexOf(ingredient), 1 );
setSelectedIngredients([...selectedIngredientsContainer]);

希望有帮助。

关于javascript - ReactJS:组件不会在状态更改时重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59770083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com