工程化常用的通信方式:
1):props父子组件消息传递
2):pubsub-js
概念:PubSub消息订阅与发布;
安装:yarn add pubsub-js
使用:
1.引入:import PubSub from “pubsub-js”
2.发布消息
3.在ComponentDidMount中订阅消息
4.在ComponentWillUnMount中取消订阅
props的只读性:
组件无论是使用 函数声明 还是通过 class 声明,都绝不能修改自身的 props。
props 是组件定义属性的集合。是组件对外的接口。由外部通过 JSX 属性传入数据。外部组件通过 props 来和当前组件进行数据对话。
在 React 中,props 的属性值可以是任何数据类型(基本数据类型、函数、对象…),非字符串数据类型在 JSX 中,必须用花括号 {}
把 prop 值给包裹起来。这也是为什么 style 有两层花括号的原因:最外层代表 JSX 语法,意味着它是一个变量对象;内层花括号 {}
代表的是一个对象。
//父组件
ReactDOM.render(
<React.StrictMode>
<Life title={"这盛世如您所愿!"}/>
</React.StrictMode>,
document.getElementById('root')
);
//子组件
render(){
console.log(this.props);
return (
<>
<h1>{this.props.title}</h1>
</>
)
}