Javascript 如何在react的UseState钩子中使用数组以及如何动态更新它
我有这个功能组件Javascript 如何在react的UseState钩子中使用数组以及如何动态更新它,javascript,html,reactjs,use-state,Javascript,Html,Reactjs,Use State,我有这个功能组件 import React,{useState}来自“React”; 从“reactstrap”导入{Container,Row,Col}; 导入“./stylesheets/cart.css”; 常量车=({image})=> { 常量[cartList,addItem]=useState([]) 如果(图像!==未定义) { 返回( {image.name} {image.price} ); }这样做的解决方案很简单,但是Cart不是一个方法,而是一个react组件。如果我
import React,{useState}来自“React”;
从“reactstrap”导入{Container,Row,Col};
导入“./stylesheets/cart.css”;
常量车=({image})=>
{
常量[cartList,addItem]=useState([])
如果(图像!==未定义)
{
返回(
{image.name}
{image.price}
);
}
这样做的解决方案很简单,但是Cart
不是一个方法,而是一个react组件。如果我理解你的问题,你想在道具更新时将图像
添加到本地状态。你可以使用useffect
挂钩来处理这个问题
useffect
和image
来触发效果回调cartList
数组,并将新图像附加到数组的末尾const Cart=({image})=>{
const[cartList,addItem]=useState([]);
useffect(()=>{
图像和附加项(购物车=>[…购物车,图像])//
const Cart = ({ image }) => {
const [cartList, addItem] = useState([]);
useEffect(() => {
image && addItem(cart => [...cart, image]); // <-- functional state update
}, [image]); // <-- image dependency
...
};