(编辑:我发现代码有其他问题并修复了它。所以这个问题变得无关紧要。(
当const language
发生变化时,如何重新渲染MyComponent
组件?现在它只在我切换选项卡时工作,但我需要它在另一个组件中更改语言时工作。
import React from "react";
import {useSelector} from "react-redux";
export default function MyComponent(props: any) {
const language: string = useSelector((state: any) => state.config.language);
......
}
如前所述,如果您正确使用redux,它应该已经重新渲染。。。
但如果没有,在最后一种情况下,您可以通过在父div中设置一个键并在配置语言发生变化时更改其值来强制在组件中重新渲染。
根据请求举一个例子:
const [rerenderedComponent, setRerenderedComponent] = useState(1);
const forceUpdate = () => {
return setRerenderedComponent(prev => prev + 1);
}
return (
<div onClick={forceUpdate} key={rerenderedComponent}>
...
</div>
)