от
Выбор переменных в useState не всегда обновление. В ниже код, я покажу контексте файл и мой компонент выбор. Контекст файл содержит глобальное состояние для моего приложения реагировать и выбор компонент передается методом setChoices для обновления состояния в GameContext. Мой метод setChoices актуализирует значение каждого выбора, но государство только обновления хаотично, не каждый раз.
//GameContext file
import React, { createContext, useState } from 'react';

export const GameContext = createContext();

const GameContextProvider = props => {
    const [gameItems, setGameItems] = useState({
        user: {choice: null, score: 0},
        cpu: {choice: null, score: 0}
    })

    const setChoices = (userChoice, cpuChoice) => {
        setGameItems({
            ...gameItems, 
            user:{...gameItems.user, choice: userChoice},
            cpu: {...gameItems.cpu, choice: cpuChoice}
        });  

    }

 return (
        
            { props.children }
        
    )
}

//choices component
import React, { useContext } from 'react';
import { GameContext } from '../contexts/GameContext';

const Choices = (props) => {

    const {  setChoices } = useContext(GameContext);

    const getCpuChoice = () => {
        const cpuChoices = ['r', 'p', 's'];
        const randomIndex = Math.floor((Math.random() * 3));
        const cpuDecision = cpuChoices[randomIndex];
        return cpuDecision
    }

    const playGame = (e) => {
        const userChoice = e.target.id;
        const cpuChoice = getCpuChoice();

        setChoices(userChoice, cpuChoice);
    } 

    return (
            
                Make Your Selection
                
                    <i className="choice fas fa

Я ожидаю, что отель подходит для пользователей и процессора, чтобы обновить каждый раз, когда setChoices называется. Что-то не так с образом я обновляю государства?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...