react学习之路(二)
来源:互联网 发布:淘宝小号信用查询网站 编辑:程序博客网 时间:2024/05/02 02:15
1、写一个简单的demo
class Son extends React.Component{constructor(props){ super(props); }render(){return (<div><span>{this.props.message}</span><br/><input type="text" value={this.props.message} onChange={this.props.upstate} /></div>)}}class Father extends React.Component{constructor(props){super(props);this.state = {father_v : 'father',};}handleInput(e){this.setState({father_v : e.target.value,});}render(){return (<div><Son message = {this.state.father_v} upstate = {this.handleInput.bind(this)}></Son></div>)}}ReactDOM.render(<Father />,document.getElementById("app"))
最后的效果
通过onchange监听输入框输入,子组件通过
onChange={this.props.upstate}调用父组件传过来的函数,然后用setState设置state,视图更新。
2、组件的生命周期
class Father extends React.Component{constructor(){super();this.state = {count : 1,};this.componentWillUnmount = this.componentWillUnmount.bind(this);}componentWillMount(){console.log("componentWillMount");let timer = setInterval(() => {this.setState({count:++this.state.count})}.bind(this) ,1000);}componentDidMount(){console.log("componentDidMount");}componentWillUnmount(){console.log("componentDidMount");}componentWillUpdate(){console.log("componentWillUpdate");}componentDidUpdate(){console.log("componentDidUpdate");}killComponent(){ReactDOM.unmountComponentAtNode( document.getElementById("app") );}render(){return (<div><button onClick = {this.killComponent.bind(this)}>卸载组件</button><Son message = {this.state.count} ></Son></div>);}}class Son extends React.Component{constructor(){ super(); } componentWillReceiveProps(nextProp){ console.log("componentWillReceiveProps") } shouldComponentUpdate(){console.log("shouldComponentUpdate");return true;}render(){return (<div><span>{this.props.message}</span><br/></div>)}}ReactDOM.render(<Father />,document.getElementById("app"))
网络请求可以componentDidMount中来执行,效果如下,数字隔一秒加一
阅读全文
0 0
- react学习之路(二)
- react学习之redux(二)
- React 学习 (二)
- React学习之进阶WEB组件(二十)
- React学习之高级组件巴巴(二十三)
- React学习之高级ReactDOM(二十四)
- React学习之高级ReactDOMServer(二十五)
- React学习之高级DOM元素属性(二十六)
- React学习之高级事件系统(二十七)
- React学习之坑(二)- 基础入门
- react学习札记(二)
- React 初步学习(二)
- React Native学习(二)
- React学习笔记(二)
- React学习之- (React-JSX-Style)
- React学习之-(React Components Lifecycle)
- React学习之-(React-Event-Listener)
- react学习之路(一)
- 基于物理的渲染—更精确的微表面分布函数GGX
- flask表单提交的时候报错CSRF token missing or incorrect
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.4-4.1.5)
- stylus之注释(Comments)
- 10 ASCII编码与Unicode编码
- react学习之路(二)
- keil c51没有智能提示怎么破?
- PHP读取APK的包信息,包括包名,应用名,权限,LOGO等
- 利用GetPrivateProfileString读取配置文件(.ini)
- Csdn开源爬虫项目
- fuzhuo---Problem 1082 最大黑区域
- redis的坑
- 随机种子
- 第一天 javascript