使用React装饰器是一种好的做法吗



我只是想知道现在哪种实践更好、更可用,在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(。如果语言中的实际功能不匹配,或者被拒绝,您可能需要稍后更改一些代码来修复。

相关内容

最新更新