反应挂钩状态不更新

时间:2020-02-21 10:33:44

标签: reactjs react-redux

我在一个反应​​中的项目周围,试图在函数内调用一个钩子,但是它没有更新!

有问题的代码是这个


function ProductSingle(products){

    const [product,setProduct] = useState(products.location.state.products)
    console.log(product)
    const [antal, setAntal] = useState(0)

    const dispatch = useDispatch()


    const artikelg = useSelector(state => state.products)
    const colorGroup = Object.values(artikelg)
    .filter(color => color.Artikelgrupp === product.Artikelgrupp)

    const colors = colorGroup.map((color) =>{
        console.log(color)
        return (
            <>
                <Cor a1={color.färg} a2={color.färg} a3={color.färg} onClick={color => setProduct(color)} style={{cursor: 'pointer'}}/>
            </>
        )}
    )

但是setProduct不会为映射对象更新。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试仅使用onClick={() => setProduct(color)}

onClick={color => setProduct(color)}确实无法做到这一点,因为onClick参加了比赛。