【发布时间】:2022-12-12 22:02:57
【问题描述】:
我正在尝试为颜色、大小等设置默认状态。当我发送 getProduct(id) 操作时,我得到了产品并且一切正常(我的产品有一个大小:size: ['s','m'...])。我希望它默认是数组中的第一个元素,我这样做是这样的:
const { id } = useParams();
const dispatch = useDispatch();
const { product, isLoading } = useSelector(state => state.product);
useEffect(() => {
dispatch(getProduct(id));
}, [dispatch, id]);
const [sizeState, setSizeState] = useState(
product?.size?.length > 0 && product?.size[0]
);
console.log(product?.size?.length > 0 返回 false console.log(product?.size[0]) 返回未定义。
这是我的产品对象: Product object
【问题讨论】:
-
您的代码中的 console.log 在哪里?
-
在 const [sizeState, setSizeState] = useState( product?.size?.length > 0 && product?.size[0] );