【发布时间】:2016-06-04 05:34:09
【问题描述】:
我正在使用 React Redux 创建简单的应用程序。我想使用装饰器在我的组件中注入一些方法。我在其他项目中看到了类似的代码:
import React, { Component } from 'react';
import { connect } from 'react-redux';
@creatable
export default class BookDetails extends Component {
render() {
console.log(this.props);
if (!this.props.Activebook) {
return <div> please select book</div>
}
return (
<div>{this.props.Activebook.title}</div>
);
}
}
function creatable() {
return Create => {
@connect(state=>({Activebook : state.ActiveBook}))
class MyDecorator extends Component {
render() {
console.log('>>>>>>>>>>>>>');
console.log(this.props);
console.log('>>>>>>>>>>>>>');
return (
<div>
<Create
{...this.props}
/>
</div>
)
}
}
return MyDecorator;
}
}
很遗憾,上面的代码不起作用。为什么?
【问题讨论】:
-
定义“不工作”?
-
当我测试这段代码时,它在@ creatable 附近显示错误只是我想要上面的工作示例..
-
@user3126894 如果您遇到错误,应在问题描述中提供。
-
我已经将代码推送到 repo github.com/shivamitakari1990/react-book 你能看看吗??
标签: javascript reactjs ecmascript-6 decorator redux