问个基础问题,有home,list,update,三个页面, home到list ,list里面某条记录点击到update页面,完成update操作之后回到list页面, 我的问题是,update回到 list页面是用goback()吗?
还是 navigate('list') ? 如果用 navigate('list');的话list 页面 的返回按钮就会回到 update页面,
如果用goback(),那怎么刷新就list页面并且更新list页面的数据?
问个基础问题,有home,list,update,三个页面, home到list ,list里面某条记录点击到update页面,完成update操作之后回到list页面, 我的问题是,update回到 list页面是用goback()吗?
还是 navigate('list') ? 如果用 navigate('list');的话list 页面 的返回按钮就会回到 update页面,
如果用goback(),那怎么刷新就list页面并且更新list页面的数据?
第一种
是通过EventEmitter实现事件机制,实现简单的观察者模式,类似于IOS中的Notification。发送端发送通知,接收端接受到通知后,通过状态机来改变渲染。发送端和接受端同时需要引入DeviceEventEmitter组件。
第二种
通过Navtigator的push方式,传递方法,第二个页面实例化方法传值,第一个页面实现方法,通过状态机渲染到页面。
第三种
通过CallBack修改父组件状态值
const didFocusSubscription = this.props.navigation.addListener(
'didFocus',
payload => {
console.log('didFocus', payload);
}
);
如果使用navigation。 可以在需要更新的页面加入这个方法
3 回答2.1k 阅读✓ 已解决
4 回答1.5k 阅读
2 回答952 阅读✓ 已解决
2 回答2.5k 阅读
1 回答838 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答742 阅读✓ 已解决
list->update时先传递一个callback函数作为参数
update在goback前 调用callback方法
在callback里面刷新list页面。