react-redux中 @connect是语法糖吗?怎样使用?

目前只知道传统用法

const App = connect(
    mapStateToProps,
    mapDispatchToProps
)(Counter);

但很多项目都使用

@connect(state => ({
  value: state.global.value,
  extinfo: state.extinfo,
}))

我能理解它的意思 但还是想更全面的了解这个语法的使用方式?

阅读 5.2k
5 个回答

你还是老老实实的使用第一种吧。
虽然说第二种通过babel可以被解析。但是Ecma标准中都没有被正式发布。

除非你对各种babel转化,各种浏览器的兼容性了入之掌。

react-redux 写法太麻烦,建议你用 react-mobx, 好用方便

react-redux 写法太麻烦,建议你用 react-mobx, 好用方便

这是装饰器模式。
先安装babel-plugin-transform-decorators-legacy,
然后在.babelrc

"plugins": ["transform-decorators-legacy"]

就可以了

推荐问题