UseState не перерисовывает страницу после события onClick - PullRequest
0 голосов
/ 18 апреля 2019

У меня проблема с повторной визуализацией страницы после установки состояния с помощью ловушки useState. Значение состояния изменяется, но страница не перерисовывается.

export function langauge(props: Props) {
  const [languageChange, setLanguageChange] = React.useState(strings.getLanguage());

return (
        {props.selected !== 'EN' && (
          <MenuItem onClick={() => {
            locale.changeLanguage('en'),
            setLanguageChange('en')
          }}>English - EN</MenuItem>
         {props.selected !== 'FR' && (
          <MenuItem onClick={() => {
            locale.changeLanguage('fr'),
            setLanguageChange('fr')
          }}>French - FR</MenuItem>
        )} );
}

Я хочу перерисовать страницу при смене языка.

1 Ответ

0 голосов
/ 18 апреля 2019

Ваша страница не перерисовывается, потому что вы на самом деле не отрисовываете что-либо на основе переменной состояния languageChange.Вы условно делаете рендеринг на основе props.selected.

Измените

{props.selected !== 'EN' && <Component />

на

{languageChange !== 'EN' && <Component />

, и это будет работать.

...