React Native选项卡导航器重新渲染屏幕组件

时间:2020-09-10 08:54:28

标签: reactjs react-native redux

这是我的代码,它实现了一个简单的标签导航器。在其中一个屏幕中,每次用户通过标签导航器选择屏幕时,我都需要向API发出请求并更新状态。如下所示,componentDidMount第一次执行后未执行(第二次尝试执行失败)。

export default class UserAccount extends Component {

    constructor(props) {
        super(props)

        this.state = {
            sample:''
        }
    }

    componentDidMount = async () => {

       // Api fetch 
       // ...

       await this.setState({sample: api.response})

    }

    render() {
        return (
            ...
        )
    }
}

标签导航器为:

<Tab.Navigator>
    <Tab.Screen options={{
        tabBarIcon: ({ focused }) => (
            <MaterialIcons name="home" color={focused ? activeTintLabelColor : inactiveTintLabelColor} size={23} />
        ),
    }} name="Home" component={Home} />
    <Tab.Screen options={{
        tabBarIcon: ({ focused }) => (
            <FontAwesome5 name="wallet" color={focused ? activeTintLabelColor : inactiveTintLabelColor} size={20} />
        )
    }} name="Wallets" component={UserWallets} />
    
</Tab.Navigator>

我该怎么做才能让标签导航器重新渲染导致执行componentDidMount的屏幕组件?

致谢。

0 个答案:

没有答案