DeviceEventEmitter.addListener警告在现有状态转换期间无法更新

时间:2019-09-14 13:40:52

标签: react-native

当我在下面添加设备发射器时,它会发出警告:

  

警告:在现有状态转换过程中无法更新(例如   在render中)。渲染方法应该是道具的纯粹功能   和状态。

componentDidMount() {
    DeviceEventEmitter.addListener('showFloater', (e) => {
        this.setState({showFloater:true})
    });

    DeviceEventEmitter.addListener('hideFloater', (e) => {
        this.setState({showFloater:false})
    });
}

这是构造函数代码段:

this.state = {
        pan:new Animated.ValueXY(), 
        _value:{
            x: 0, 
            y: 0
        },
        showFloater: false
    };

我为什么收到警告的任何想法?删除setState并加载正常。

1 个答案:

答案 0 :(得分:0)

如果其他人遇到此问题,则此问题已解决:

this.listner = DeviceEventEmitter.addListener('showFloater', (e) => {
        this.setState({showFloater:e.val})
    });