使用 React 装饰器是一种好习惯吗?

Is it a good practise to use React Decorators?

我只是好奇现在哪种做法更好用,用 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中使用装饰器仍然是一个坏主意。

他们仍然是第 2 阶段提案:https://github.com/tc39/proposals

按照这个过程https://tc39.es/process-document/,不代表一定会收录到语言中

如果你确实使用装饰器,它可能会使用 typescript 或 babel (legacy-decorators)。如果语言中的实际功能不匹配,或者如果它被拒绝,您可能需要稍后更改一些代码来修复。