当导航来自特定页面时,我需要刷新屏幕。但是,在页面导航时,不会触发useEffect方法或任何其他方法。我了解,由于状态或道具未更改,因此未触发该方法。但是有没有一种触发方式,请告诉我。我也尝试了didFocus,但是每次屏幕聚焦时都会刷新,但是我希望仅在来自特定屏幕时刷新。
答案 0 :(得分:0)
我还没有使用过useEffect,但是我通过react-navigation激活了道具的更改。
在要刷新的屏幕上,添加didFocus侦听器:
browser.find_element_by_css_selector('[name="drop-down-list"]')
当您导航到该屏幕并希望刷新时:
this.props.navigation.addListener(
'didFocus',
payload => {
console.debug('didFocus', payload);
if (this.props.navigation.getParam('shouldRefresh')) {
this.props.navigation.setParams({ shouldRefresh: false });
// Do something
}
}
);
希望有帮助。