Javascript 更新会对来自类组件的上下文值作出反应
我在Javascript 更新会对来自类组件的上下文值作出反应,javascript,reactjs,react-native,react-hooks,Javascript,Reactjs,React Native,React Hooks,我在React应用程序中有一个类组件。它起作用了。然后我需要一个全局变量并到达React的上下文。我创建上下文并可以使用它的价值 但我需要更新它的值,我读了很多书,似乎我必须使用React钩子来更新上下文值。但是我的组件是类组件,在那里我不能使用钩子 我的问题是,如果我想使用上下文,我不能使用类组件?现在我正在学习如何反应,并多次遇到钩子。如果挂钩是一件非常重要的事情,这意味着我们必须一直使用功能组件 我该怎么办?我只需要更新我的全局变量并使用它的值。请访问此链接,然后。 此链接对此进行了说明,
React
应用程序中有一个类组件。它起作用了。然后我需要一个全局变量并到达React的上下文。我创建上下文并可以使用它的价值
但我需要更新它的值,我读了很多书,似乎我必须使用React钩子来更新上下文值。但是我的组件是类组件,在那里我不能使用钩子
我的问题是,如果我想使用上下文,我不能使用类组件?现在我正在学习如何反应,并多次遇到钩子。如果挂钩是一件非常重要的事情,这意味着我们必须一直使用功能组件
我该怎么办?我只需要更新我的全局变量并使用它的值。请访问此链接,然后。
此链接对此进行了说明,您可以这样做:
类语言切换器扩展组件{
render(){
返回(
{({language,setLanguage})=>(
setLanguage(“jp”)}>
开关语言(当前:{Language})
)}
);
}
}
如果我想使用上下文,我不能使用类组件
不,您可以在类组件中使用上下文。
请参阅文档中的,所有示例都带有类
我们必须一直使用功能组件
不,你可以使用任何你认为合适的方法
但是,没有任何实际理由再使用类组件(除了实现)。使用钩子进行反应,因此最好的方法是使用功能组件
我要做什么?我只需要更新我的全局变量并使用它的值
顾名思义,它是一个全局变量,它的全局指向应用程序的作用域(而不是绑定到组件的类似作用域的状态)。您可以在任何地方更新它
const globalObject = { name: `myVar` };
// Can be updated from any scope as you keep the reference.
const FunctionComponent = () => { globalObject.name=`a`; return <></>; }
// Outer scope
globalObject.name=`b`;
constglobalobject={name:`myVar`};
//可以在保留引用时从任何范围更新。
const FunctionComponent=()=>{globalObject.name=`a`;return;}
//外部范围
globalObject.name=`b`;