react-native-router-flux如何回退上一页面时清除上一页面的参数
时间: 2023-08-14 20:06:12 浏览: 130
如果您使用的是 `react-native-router-flux`,您可以在跳转到下一个页面时,将参数传递为 `null`。这样,当您回退到上一个页面时,上一个页面的参数就会被清除。以下是一个示例代码:
```jsx
import { Actions } from 'react-native-router-flux';
// 跳转到下一个页面并传递参数
Actions.nextPage({ param: 'value' });
// 回退到上一个页面并清除参数
Actions.pop({ refresh: { param: null } });
```
在上面的代码中,我们首先使用 `Actions.nextPage()` 跳转到下一个页面并传递参数。然后,我们在回退到上一个页面时使用 `Actions.pop()` 并传递一个 `refresh` 参数。这将触发上一个页面的 `onRefresh` 方法,您可以在其中清除参数。以下是一个示例代码:
```jsx
import { Actions } from 'react-native-router-flux';
class PreviousPage extends React.Component {
onRefresh() {
// 清除参数
this.setState({ param: null });
}
render() {
const { param } = this.state;
return (
<View>
<Text>Previous Page</Text>
<Text>Param: {param}</Text>
</View>
);
}
}
// 将上一个页面注册到 router
const RouterComponent = () => (
<Router>
<Scene key="previousPage" component={PreviousPage} onRefresh={() => Actions.refresh({ param: null })} />
<Scene key="nextPage" component={NextPage} />
</Router>
);
```
在上面的代码中,我们在上一个页面的 `onRefresh` 方法中清除了参数。我们还在注册上一个页面时使用了 `onRefresh`,以便在回退时自动清除参数。
阅读全文