我的导航器在模式内有不同的屏幕。要关闭模态框,需要按下按钮来激活 setState 函数。现在的问题是关闭整个模式的按钮位于堆栈屏幕之一内。请问我如何将该函数作为道具从父级传递到屏幕。下面是我的代码的摘要。谢谢。
//Parent.js
const [state, setState] = useState(false)
<Stack.Navigator
initialRouteName="Screen1"
screenOptions={{
headerShown: false
}}
setState={setState}
>
<Stack.Screen name="Screen1" component={Screen1} />
<Stack.Screen name="Screen2" component={Screen2} />
</Stack.Navigator>
Run Code Online (Sandbox Code Playgroud)
//屏幕1.js
export default Screen1 = ({setState})=>{
return (
<View>
<Button title={Press me} onPress={()=>{
setState(false)}} />
</view>
)
}
Run Code Online (Sandbox Code Playgroud)