javascript - What's the '@' (at symbol) in the Redux @connect decorator? -


i learning redux react , stumbled upon code. not sure if redux specific or not, have seen following code snippet in 1 of examples.

@connect((state) => {   return {     key: state.a.b   }; }) 

while functionality of connect pretty straightforward, don't understand @ before connect. isn't javascript operator if not wrong.

can explain please , why used?

update:

it in fact part of react-redux used connects react component redux store.

the @ symbol in fact javascript expression currently proposed signify decorators:

decorators make possible annotate , modify classes , properties @ design time.

here's example of setting redux without , decorator:

without decorator

import react 'react'; import * actioncreators './actioncreators'; import { bindactioncreators } 'redux'; import { connect } 'react-redux';  function mapstatetoprops(state) {   return { todos: state.todos }; }  function mapdispatchtoprops(dispatch) {   return { actions: bindactioncreators(actioncreators, dispatch) }; }  class myapp extends react.component {   // ...define main app here }  export default connect(mapstatetoprops, mapdispatchtoprops)(myapp); 

using decorator

import react 'react'; import * actioncreators './actioncreators'; import { bindactioncreators } 'redux'; import { connect } 'react-redux';  function mapstatetoprops(state) {   return { todos: state.todos }; }  function mapdispatchtoprops(dispatch) {   return { actions: bindactioncreators(actioncreators, dispatch) }; }  @connect(mapstatetoprops, mapdispatchtoprops) export default class myapp extends react.component {   // ...define main app here } 

both examples above equivalent, it's matter of preference. also, decorator syntax isn't built javascript runtimes yet, , still experimental , subject change. if want use it, available using babel.


Comments

Popular posts from this blog

wordpress - (T_ENDFOREACH) php error -

Export Excel workseet into txt file using vba - (text and numbers with formulas) -

Using django-mptt to get only the categories that have items -