React native 在react native中的navigation.goBack()之后重新加载屏幕

React native 在react native中的navigation.goBack()之后重新加载屏幕,react-native,React Native,我想在使用react native中的navigation.boBack()导航后重新加载屏幕 这是我的密码 // navigation options static navigationOptions = ({ navigation }) => { const { params = {} } = navigation.state; return { headerTitle: "Comment", headerTitleStyle: {

我想在使用react native中的navigation.boBack()导航后重新加载屏幕

这是我的密码

 // navigation options
 static navigationOptions = ({ navigation }) => {
    const { params = {} } = navigation.state;

    return {
        headerTitle: "Comment",
        headerTitleStyle: {
            marginLeft: 0,
            width: "100%",
            textAlign: "center",
            fontWeight: 'bold',
            fontFamily: "helvetica",
        },
        headerStyle: {
            paddingLeft: 10,
            paddingRight: 10
        },
        headerLeft: (
            <ClickableIcon
                source={Close}
                height={35}
                width={35}
                onIconPressed={() => {
                    navigation.goBack();
                }}
            />
        ),
        headerRight: <View />
    };
};
//导航选项
静态导航选项=({navigation})=>{
const{params={}}=navigation.state;
返回{
标题:“评论”,
头饰样式:{
marginLeft:0,
宽度:“100%”,
textAlign:“居中”,
fontWeight:'粗体',
fontFamily:“helvetica”,
},
头型:{
paddingLeft:10,
填充右:10
},
左校长:(
{
navigation.goBack();
}}
/>
),
头灯:
};
};

如何实现这一点?

您可以在导航到屏幕时将回调函数设置为:

this.props.navigation.navigate('Comment', {
      onBack: () => this.refresh()//function to refresh screen,
    });
并在评论屏幕中按下后退按钮时调用此返回功能:

headerLeft: (
        <ClickableIcon
            source={Close}
            height={35}
            width={35}
            onIconPressed={() => {
                const reloadLastScreen = navigation.getParam('onBack');
                reloadLastScreen();
                navigation.goBack();
            }}
        />
    )
headerLeft:(
{
const reloadLastScreen=navigation.getParam('onBack');
重新加载LastScreen();
navigation.goBack();
}}
/>
)

您可以在导航到屏幕时将回调函数设置为:

this.props.navigation.navigate('Comment', {
      onBack: () => this.refresh()//function to refresh screen,
    });
并在评论屏幕中按下后退按钮时调用此返回功能:

headerLeft: (
        <ClickableIcon
            source={Close}
            height={35}
            width={35}
            onIconPressed={() => {
                const reloadLastScreen = navigation.getParam('onBack');
                reloadLastScreen();
                navigation.goBack();
            }}
        />
    )
headerLeft:(
{
const reloadLastScreen=navigation.getParam('onBack');
重新加载LastScreen();
navigation.goBack();
}}
/>
)

您可以试试这个。当你的屏幕聚焦时,你可以在那里执行任何代码

componentDidMount(){
const{navigation}=this.props;
navigation.addListener('willFocus',()=>{
//专注时做你想做的任何事
});

}
您可以试试这个。当你的屏幕聚焦时,你可以在那里执行任何代码

componentDidMount(){
const{navigation}=this.props;
navigation.addListener('willFocus',()=>{
//专注时做你想做的任何事
});
}
ScreenA中的handleOnNavigateBack

ScreenA中的handleOnNavigateBack


这将在goBack()调用后更新当前组件状态,但不知道如何操作

import { useIsFocused } from "@react-navigation/native";

  const isFocused = useIsFocused();

  useEffect(() => {}, [isFocused]);


这将在goBack()调用后更新当前组件状态,但不知道如何操作

import { useIsFocused } from "@react-navigation/native";

  const isFocused = useIsFocused();

  useEffect(() => {}, [isFocused]);

可能的重复可能的重复