Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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
Reactjs 反应导航-堆栈。导航器屏幕支柱不工作_Reactjs_React Navigation_React Props_React Navigation Stack - Fatal编程技术网

Reactjs 反应导航-堆栈。导航器屏幕支柱不工作

Reactjs 反应导航-堆栈。导航器屏幕支柱不工作,reactjs,react-navigation,react-props,react-navigation-stack,Reactjs,React Navigation,React Props,React Navigation Stack,下面的代码为两个组件创建了一个简单的堆栈导航器Login和List。我在带有导航器(App.js)的文件中有一个useState钩子,我想将setter和getter传递给每个屏幕。我曾尝试在堆栈导航器上使用screenProps,但在记录传递给每个组件的道具后,变量不会出现 TL;DR我需要将道具从Stack.Navigator传递到每个屏幕 <NavigationContainer> <Stack.Navigator screenProps={{setVariable,

下面的代码为两个组件创建了一个简单的堆栈导航器
Login
List
。我在带有导航器(
App.js
)的文件中有一个
useState
钩子,我想将setter和getter传递给每个屏幕。我曾尝试在堆栈导航器上使用
screenProps
,但在记录传递给每个组件的道具后,变量不会出现

TL;DR我需要将道具从
Stack.Navigator
传递到每个屏幕

<NavigationContainer>
  <Stack.Navigator screenProps={{setVariable, variable}}>
    <Stack.Screen
      name="Login"
      component={Login}
      options={navOptions}
    />
    <Stack.Screen
      name="List"
      component={List}
      options={navOptions}
    />
  </Stack.Navigator>
</NavigationContainer>

您需要使用React的上下文API

// MyContext.js
export const MyContext = React.createContext();
//App.js
const context=React.useMoom(()=>({
setVariable,
变量
}),[变量];
返回(
);
//Home.js
常量变量=React.useContext(MyContext);

您需要使用React的上下文API

// MyContext.js
export const MyContext = React.createContext();
//App.js
const context=React.useMoom(()=>({
setVariable,
变量
}),[变量];
返回(
);
//Home.js
常量变量=React.useContext(MyContext);