gpt4 book ai didi

react-navigation - React Native Stack Navigator 传递 Prop

转载 作者:行者123 更新时间:2023-12-05 08:51:23 24 4
gpt4 key购买 nike

我想将一些 Prop (值)传递到另一个页面,我正在使用 stackNavigator

应用程序.js:

import Insert from "./components/pages/Insert";
import ViewData from "./components/pages/ViewData";

const Stack = createStackNavigator();

NavigationContainer>
<Stack.Navigator headerMode={false}>
<Stack.Screen name="Insert Your data" component={Insert} />
<Stack.Screen name="ViewData" component={ViewData} />
</Stack.Navigator>
</NavigationContainer>

插入.js

const Insert = ({ props, navigation: { navigate } }) => {
const [enteredName, setEnteredName] = useState();
const [enteredSurname, setEnteredSurname] = useState();

const sendValues = (enteredName, enteredSurname) => {
setEnteredName(enteredName);
setEnteredSurname(enteredSurname);
navigate("ViewData", {
name: enteredSurname,
surname: enteredSurname
});
};

...

<View>
<Button
title="Submit"
onPress={() => sendValues(enteredName, enteredSurname)}
/>

ViewData.js

const ViewData = ({props, navigation: { goBack } }) => {
let name = enteredName;

console.log(name); /// I always get undefined

return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<Text>Here {name}</Text>
<Button onPress={() => goBack()} title="Edit Data" />
</View>
);
};

当我提交时,我总是在控制台中得到 undefined。我肯定在某个地方弄错了。

有什么想法吗?

谢谢!!

最佳答案

引用https://reactnavigation.org/docs/hello-react-navigation/#passing-additional-props

Use a render callback for the screen instead of specifying a componentprop:

<Stack.Screen name="Home">
{props => <HomeScreen {...props} extraData={someData} />}
</Stack.Screen>

你可以这样改

import Insert from "./components/pages/Insert";
import ViewData from "./components/pages/ViewData";

const Stack = createStackNavigator();

<NavigationContainer>
<Stack.Navigator headerMode={false}>
<Stack.Screen name="Insert Your data">
{props => (<Insert {...props} extraData={data}/>)}
<Stack.Screen name="ViewData" component={ViewData} />
</Stack.Navigator>
</NavigationContainer>

关于react-navigation - React Native Stack Navigator 传递 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60113019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com