【发布时间】:2017-03-09 05:32:51
【问题描述】:
我正在尝试通过渲染功能更改我的状态,但它不起作用。
render() {
return (
<View>
// some code
{this._renderModal()}
</View>
)
}
_renderModal() {
let channel = this.props.pusher.subscribe('my-channel');
channel.bind('my-event', data => {
this.setState({
requestedToEnter: false
});
this.props.navigation.getNavigator('root').push(Router.getRoute('order', { restaurant_id }));
});
return (
<Modal
animationType={'slide'}
transparent={false}
visible={this.state.requestedToEnter}
onRequestClose={this._handleEnter}>
// some components
</Modal>
)
}
当我在 my-channel 上收到 my-event 时,它会触发绑定到它的函数。 setState 方法不会更改状态(或者会更改但不会重新渲染组件)。我认为这是因为我在事件函数中使用了setState 方法。当我收到来自推送者的事件时,如何关闭Modal?
【问题讨论】:
标签: reactjs react-native pusher