原因是高阶组件没有往下面传递props
[分析] 在App组件中渲染的 <MousePosition a="1" />传递了一个a='1'的props,其实这个props是传递给了MousePosition也就是返回的Mouse组件,如果要解决问题的话就要把Mouse组件的props往下传递
解决方法:
渲染的时候不仅把{...state}传递给需要包装的组件,还要把{...this.props}也传递给需要包装的组件
react进阶总结
组件通讯是构建React应用不可缺少的一个环节,换句话说,在使用react进行写项目代码的时候,不可避免的都会用到组件通讯
熟悉props
熟悉状态提升
理解组件的运行过程
生命周期设置监听函数和移除监听函数
了解相同逻辑复用
熟悉render props和高阶组件