我只是想知道现在哪种实践更好、更可用,在React中编写装饰器更干净吗?
以下差异示例:
@reduxForm({form: 'exampleForm', onSubmit: formOnSubmit('example-from-action/')})
export default class ExampleForm extends React.Component {
render() {
return <div></div>
}
}
class ExampleForm extends React.Component {
render() {
return <div></div>
}
}
export default reduxForm({form: 'exampleForm', onSubmit: formOnSubmit('example-from-action/')})(ExampleForm);
在我看来,目前在javascript中使用decorator仍然是个坏主意。
它们仍然是第二阶段的提案:https://github.com/tc39/proposals.
按照这个流程https://tc39.es/process-document/,这并不意味着它一定会被包含在语言中。
如果您确实使用了decorator,那么它可能会使用typescript或babel(遗留decorator(。如果语言中的实际功能不匹配,或者被拒绝,您可能需要稍后更改一些代码来修复。