Как изменить состояние с информацией из выбранного элемента с помощью React Context API - PullRequest
0 голосов
/ 14 мая 2019

Нужно перемещаться и показывать информацию о товаре, по которому щелкнули. У меня есть правильный элемент, возвращающийся в моем журнале консоли, но я не уверен, как редактировать / устанавливать состояние и заменять фиктивный текст значением выбранного элемента. Я использую контент 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 файла console.logs в showDetails дают мне dummyDetails и сведения о продукте. Мне нужно обменять товар на пустышку. Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2019

Вы можете установить продукт по функции возврата из useState

const [ dummyDetails, setProduct ] = useState(detailProduct);

const showDetails = (id) => {
   const product = getItem(id);
   setProduct(product);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...