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