Хук React не отображается мгновенно - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь написать запуск / закрытие btn, нажав на btn. Btn должен отображаться на основе изменения состояния. Я использую startFlag, чтобы изменить btn, так как startFlag будет сохраняться в хуках, так что если я перейду на другую страницу, startFlag будет иметь исходное значение. Однако я обнаружил, что этот метод не отображает компонент немедленно. Он отображается, если я обновляю sh страницу. Например: если я щелкнул startBtn, в main я установил startFlag на true. Однако closeBtn не будет отображаться, если я не обновлю sh. Есть ли проблемы с моей реализацией?

import React, {useContext, useEffect, useState} from 'react'
import { mainContext } from '../../Main'
import Startbtn from './Startbtn'
import Stopbtn from './Stopbtn'
export default function SingleTaskControlbtn({startFlag, uuid}) {
    const [switchToStop, setSwitchToStop] = useState(false);
    const {
        handleStart,
        handleStop,
    } = useContext(mainContext)

    useEffect(()=>{
        setSwitchToStop(startFlag)
    }, [startFlag])

    return (
        <div>
            <div 
                className="btn-first-pos"
                onClick={()=>{
                    handleStart(uuid)
                }}
            >
                <Startbtn/>
            </div>
            { 
                switchToStop
                &&
                <div 
                    className="btn-first-pos"
                    onClick={()=>{
                        handleStop(uuid)
                    }}
                >
                    <Stopbtn/>
                </div>
            }
        </div>
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...