需要导航并显示已单击项目的产品详细信息。我在控制台日志中返回了正确的项目,但不确定如何编辑/设置状态以及将虚拟文本替换为单击的项目的值。我正在使用内容API进行状态管理,数据来自导入到Context.js中的单独文件。
Context.js
import React, { useState, createContext } from 'react';
import { storeProducts, detailProduct } from './data';
export const ProductContext = createContext();
export const ProductProvider = (props) => {
const [ products ] = useState(storeProducts);
const [ dummyDetails ] = useState(detailProduct);
const getItem = (id) => {
const product = products.find(item => item.id === id);
return product;
}
const showDetails = (id) => {
const product = getItem(id);
console.log(product);
console.log(dummyDetails);
};
const addToCart = (id) => {
console.log(id);
};
return (
<ProductContext.Provider value={[ products, dummyDetails, showDetails, addToCart ]}>
{ props.children }
</ProductContext.Provider>
);
}
我有从getItem函数和2控制台返回的信息。showDetails中的日志为我提供了dummyDetails和产品详细信息。我需要将产品交换为dummyDetails。预先感谢。
答案 0 :(得分:0)
您可以按功能从useState
返回产品来设置产品
const [ dummyDetails, setProduct ] = useState(detailProduct);
const showDetails = (id) => {
const product = getItem(id);
setProduct(product);
};