腾讯网站建设专家,网站申请微信支付接口,蜘蛛从网站哪里抓取,一个网站价格New Context API
Provider【context的生产者组件】
createContext 创建一个Context对象#xff0c;订阅了整个Context对象的组件#xff0c;会从组件树中离自身最近的那个匹配的Provider中读取到当前的context值。Context.Provider 父Context对象返回的Provider组件#x…New Context API
Provider【context的生产者组件】
createContext 创建一个Context对象订阅了整个Context对象的组件会从组件树中离自身最近的那个匹配的Provider中读取到当前的context值。Context.Provider 父Context对象返回的Provider组件允许消费组件订阅context的变化。
Consumer【context的消费者组件】
Class.contextType 申明了contextType属性的组件会被赋值一个Context对象组件内的this.context可以访问最近Context上的值。Context.Consumer 函数组件订阅Context对象的方式如同contextType之于Class组件。
New Context API-实战
import React, { Component } from react;
import CustomContext from ./components/button-context;
import NewButton from ./components/new-button;export default class NewContext extends Component {constructor(props) {super(props);this.state {color: #28a745, }; }render() {const { color } this.state;// Provider【context的生产者组件】return (CustomContext.Provider value{color}NewButtonnew context api/NewButton/CustomContext ); }
}
import React, { Component } from react;
import PropTypes from prop-types;
import CustomContext from ../button-context;export default class NewButton extends Component {// 【context的消费者组件】static contextType CustomContext;static propTypes {children: PropTypes.string, }static defaultProps {children: 默认文案, }render() {const { children } this.props;return (button typebutton style{{color: this.context }}{children}/button ); }
}
import React from react;const CustomContext React.createContext();export default CustomContext;