Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更新会对来自类组件的上下文值作出反应_Javascript_Reactjs_React Native_React Hooks - Fatal编程技术网

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`;