在这个类继承中使用了什么ES6/React魔术
What ES6/React magic is used in this class inheritance?
通过Redux的TodoMVC示例,我发现了这个不寻常的类继承示例。类Header可能像往常一样扩展React.Component(所有React组件都应该如此,对吧?(,但代码中没有明确说明。我错过了什么?这个代码是如何工作的?
import React, { PropTypes } from 'react';
import TodoTextInput from './TodoTextInput';
export default class Header {
static propTypes = {
addTodo: PropTypes.func.isRequired
};
handleSave(text) {
if (text.length !== 0) {
this.props.addTodo(text);
}
}
render() {
return (
<header className='header'>
<h1>todos</h1>
<TodoTextInput newTodo={true}
onSave={::this.handleSave}
placeholder='What needs to be done?' />
</header>
);
}
}
如果不需要ReactComponent
(setState()
和forceUpdate()
(定义的方法,则不必从中继承。
因此,它不是类继承或魔术的例子,因为这里两者都没有发生:(
相关文章:
- @@(“at at”)在ES6 JavaScript中是什么意思
- 什么'这是ES6中制作重复元素列表的等效方法
- browserify/requirejs模块和ES6模块有什么区别
- 蓝鸟承诺是什么等价物,最后在原生ES6承诺中
- 在ES6中,什么是新规范,“块级函数声明”的意思
- 使用 ES6 模块而不是显示模块模式的额外优势是什么?
- 使用 ES6 导入 JSNLog 的正确语法是什么?
- 当您不再持有对 ES6-Promise 的引用时会发生什么情况
- 我可以在 es6 数组解构中将什么用作占位符
- 什么是 ES6 中的动态导出
- 使用ES6/2015导出对象文字的最佳方式是什么
- 在ES6 Promise中允许多次解析/拒绝的原因是什么
- 这些ES6导入方法之间的区别是什么
- 使用ES6模块的TypeScript的最佳方法是什么
- 什么's angular的优点;当我可以在es6中使用导入/导出时,s依赖项注入
- ES6箭头函数和CoffeeScript fat箭头函数的主要区别是什么?
- ES6:如果rest参数是一个数组会发生什么?
- 在 ES6 中包装承诺的最简单方法是什么?
- 使用 ES6 的 Promise.all() 时限制并发性的最佳方法是什么?
- 在这个类继承中使用了什么ES6/React魔术