Reactjs UseState不会在onClick事件后重新提交页面

Reactjs UseState不会在onClick事件后重新提交页面,reactjs,typescript,react-hooks,Reactjs,Typescript,React Hooks,在通过useState钩子设置状态后,我无法重新呈现页面。状态值更改,但页面未重新呈现 export function langauge(props: Props) { const [languageChange, setLanguageChange] = React.useState(strings.getLanguage()); return ( {props.selected !== 'EN' && ( <MenuItem o

在通过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>
        )} );
}
导出功能语言(道具:道具){
const[languageChange,setLanguageChange]=React.useState(strings.getLanguage());
返回(
{props.selected!='EN'&&(
{
locale.changeLanguage('en'),
setLanguageChange('en')
}}>英语-英语
{props.selected!='FR'&&(
{
locale.changeLanguage('fr'),
setLanguageChange('fr')
}}>法语-法语
)} );
}

我想重新呈现有关语言更改的页面。

您的页面没有重新呈现,因为您实际上没有根据状态变量
languageChange
有条件地呈现内容。您是根据
道具有条件地呈现。已选

改变

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

{languageChange!='EN'&&

它会起作用。

您的页面不会重新呈现,因为您实际上没有根据状态变量
languageChange
有条件地呈现内容。您是根据
道具有条件地呈现。已选择

改变

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

{languageChange!='EN'&&

它会工作。

它会在语言更改时重新呈现组件,您所说的“页面”是什么意思?如果希望在其他位置重新渲染,则不要使用本地状态。它不会在语言上重新渲染change@Li357,这有什么错?在你看来,我该怎么写?@Li357批评逗号运算符的奇怪用法并不能真正帮助回答这个问题。它将在语言更改时重新呈现组件,这是什么意思“页面”?如果希望在其他位置重新呈现,则不要使用本地状态。它不会在语言上重新呈现change@Li357,这有什么错?我该怎么写你的意见?@Li357批评逗号运算符的奇怪用法并不能真正帮助回答这个问题谢谢你的解决方案!谢谢你的解决方案!