navigationOptions怎么监听redux里面的state并实时更新



  • let _this = null;
    class cart extends Component {
    static navigationOptions = ({ navigation }) => ({
    title: 'aa',
    tabBarIcon: ({tintColor}) =>{
    if(_this){
    return(
    <View>
    <Image
    style={[styles.icon, {tintColor: tintColor}]}
    source={{uri: 'cart'}}
    />
    <Text>{_this.props.cart}</Text>
    </View>
    )
    }else{
    return null;
    }
    },
    })
    render() {
    const {dispatch, cart} = this.props;
    return (
    <View>
    <Text>购物车首页</Text>
    <Text>{cart}</Text>
    </View>
    );
    }
    componentDidMount(){
    _this = this;
    }
    }

    const styles = StyleSheet.create({

    });

    function selector(state) {
    return {
    cart: state.cart,
    }
    }

    export default connect(selector)(cart);



  • @LCJ-MinYa redux的state变化时通过 this.props.navigation.setParams({ key: xxx }); 修改navigation的值,在navigationOptions中通过 navigation.state.params.key 就可以获取到新的值。



  • @JustLoveBen 谢谢,现在有一个新问题

    0_1495013590627_QQ图片20170517173257.png
    如图,如果我在商品页面怎么去修改购物车页面的tabbar的状态喃,
    目前测试发现RN的组件每个页面都是切换就销毁了


登录后回复