使用antd-mobie踩了个地雷!!!---Popup组件

来源:互联网 发布:如何变漂亮 知乎 编辑:程序博客网 时间:2024/04/28 19:05

经过数天的布局, 就差数据来render组件了,最后发现Popup组件无法自动刷新


看看popup的设计方式, 它的弹出方式是基于function事件,类似JS插件,但是通过chrome看到popup的内容确实是reactjs, 既然不能自动刷新(可以log看到, 状态通过props下床后,在popup下停止了render)


通过log可以看到在popup层的props数据在父级被更新了,但是就是组件没有render, 后来去查看antd组件,没有更合适的组件了

1.可替换组件的只有Drawer, 但是整个布局得重新修改

2.考虑我们来手动render这个popup层

3.connect store(popups不在store下, 所以也不用考虑了)

最后先从2考虑, 无状态手动刷新就不用考虑了!

看看我的决解方案


  constructor(props) {    super(props);    this.state = {      disguise: 0,    };  }  render() {    const { dispatch, basket } = this.props;    const subEvent = item => () => {      dispatch({        type: 'cart/removeItem',        item,      });    };    const addEvent = item => () => {      this.setState({ disguise: 0 });      dispatch({        type: 'cart/addItem',        item,      });    };

我们把popup改成有状态(popup弹出的compoment),组件, 让后手动去触发这个component的状态改变, 这样就达到


0 0