Триггер рендеринга после setTimeout в реакции - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь разобраться в React, и я делаю несколько проектов. Один из них связан с повторным рендерингом компонента после изменения переменной после завершения setTime.

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

Я полагаю, что я неправильно понимаю некоторые основы React.

Стрелки для обозначения моей проблемы.

Компонент:

import React from 'react';
import classes from './Navigation.module.css';

const navigation = (props) => {
    let attachedClasses = [classes.SmallDot];
    let showCloseButton = false; <-------!
    if (props.currentState) {
        attachedClasses = [classes.BigDot]
        setTimeout(() => {
            showCloseButton = true; <----------!
        }, 500)

    }

    return (
        <div onClick={props.currentState ? null : props.toggleMenuState} className={attachedClasses.join(' ')}>
            {showCloseButton ? <--------!
                <div onClick={props.toggleMenuState} className={classes.CloseButton}>
                    <div>X</div>
                </div>
                : null}
        </div>
    )
};

export default navigation;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...