navigation.navigate(‘Home’, {
screen: ‘Settings’,
params: { user: ‘Tom’ },
});
2.5.2 更新参数
页面上也可以更新参数,类似更新页面状态。navigation.setParams
就可以用来更新页面参数
你也可以向页面传递一些初始参数。如果导航到页面并没有设置任何参数,这个初始参数将会被使用。它们会与传递的参数进行浅合并。初始参数被指定为initialParams 属性:
<Stack.Screen
name=“Login”
component={Login}
initialParams={
{ userId: 42 }}
/>
2.5.3 传递参数到之前的页面
不仅仅能传递参数到新的页面,也能传递参数到之前的页面。
想做到这个,你可以使用navigate
的方法,如果页面存在的话,可以使用像 goBack
这样的方法。你可以通过navigate
携带参数将参数传回去:
// Some.js
import React, { useState, Component } from “react”;
import { Text, View } from “react-native”;
class App extends Component {
constructor(props) {
super(props)
}
render() {
return (
pe : “has null”}
)
}
}
export default App;
// Home.js
import * as React from ‘react’;
import { View, TextInput, Button } from ‘react-native’;
function goLogin(navigation, postText) {
navigation.push(“Login”, {type: postText}) // 把输入框的值传递给 Login 页面
}
function Some({navigation, route}) {
let {text} = route.params;
let [postText, setPostText] = React.useState(text);
return (
<TextInput
multiline
placeholder=“What’s on your mind?”