使用ES6基础知识来持续更新我的知识库
来源:互联网 发布:java.lang.long 编辑:程序博客网 时间:2024/04/29 07:00
1.合理使用对象解构技巧
//这里表示函数接受一个参数,该参数有一个Home属性,该Home属性是一个对象有location和phoneNum两个子属性const sayHello = ({Home:{location,phoneNum}})=>{ console.log("Hello,my location:",location); console.log("Hello,my phoneNum:",phoneNum);}sayHello({Home:{location:"Hangzhou",phoneNum:"18340816452"}});
打印内容如下:
Hello,my location: HangzhouHello,my phoneNum: 18340816452
下面是redux-async-connect库的一个用法:
@asyncConnect([{ deferred: true, //promise函数接受一个对象作为参数,该对象的store属性含有dispatch和getState两个子属性 promise:({store:{dispatch,getState}}) =>{ if(!isLoaded(getState())){ return dispatch(loadWidgets()); } }}])
注意:在函数内部打印Home属性将会报错,因为此处我们只是将我们传入的Home对象本身进行了属性解构而已,而Home本身并不存在!
2.处理controlled组件
请参考下面的例子:
class Reservation extends React.Component { constructor(props) { super(props); this.state = { isGoing: true, numberOfGuests: 2 }; this.handleInputChange = this.handleInputChange.bind(this); } handleInputChange(event) { const target = event.target; const value = target.type === 'checkbox' ? target.checked : target.value; const name = target.name; this.setState({ [name]: value }); //这样虽然我们有了两个input,但是我们依然将它绑定到了this.state中了 //注意这里的:this.setState({[name]: value}); } render() { return ( <form> <label> Is going: <input name="isGoing" type="checkbox" checked={this.state.isGoing} onChange={this.handleInputChange} /> </label> <br /> <label> Number of guests: <input name="numberOfGuests" type="number" value={this.state.numberOfGuests} onChange={this.handleInputChange} /> </label> </form> ); }}ReactDOM.render( <Reservation />, document.getElementById('example'));
阅读全文
0 0
- 使用ES6基础知识来持续更新我的知识库
- 使用OneNote来构建你自己的知识库
- 我的webpack,持续更新......
- 我的vim(持续更新)
- 小菜鸡ES6初探及babel使用(持续更新)
- 我所使用的Xcode插件【持续更新】
- es6学习(持续更新)
- 持续更新-ES6全面解析
- ES6 文档总结,持续更新
- mysql基础知识(持续更新)
- java基础知识,持续更新
- Swift基础知识(持续更新)
- linux淘来的东西持续更新
- NSPredicate 的使用(持续更新)
- 那些让我哭让我笑的编程错误!持续更新,错了就写上来!
- 我的blog索引[持续更新]
- 我的工具集(持续更新)
- 我的编程规范【持续更新中】
- Java实现-落单的数1
- Arcgis For Android之离线地图实现的几种方式
- 对象表+创建对象表+插入操作+查询操作+更新与删除操作
- pat1014-福尔摩斯的约会
- 【模板】非旋转Treap
- 使用ES6基础知识来持续更新我的知识库
- [bzoj3203][SDOI2013]保护出题人
- Codeforces812A Sagheer and Crossroads
- iOS-DeviceToken变化之谜
- (牛客网)二维数组中的查找
- python——修改Dataframe列名的两种方法
- Spring注入property认识
- MySql语句
- WIN 下安装Django 的方法