Quel est le '@' (symbole) dans le Redux @connecter décorateur?
Je suis en train d'apprendre Redux à Réagir et je suis tombé sur ce code. Je ne suis pas sûr si c'est Redux spécifiques ou pas, mais j'ai vu l'extrait de code suivant dans l'un des exemples.
@connect((state) => {
return {
key: state.a.b
};
})
Tandis que la fonctionnalité de connect
est assez simple, mais je ne comprends pas le @
avant connect
. Il n'est même pas un JavaScript opérateur si je ne me trompe pas.
Quelqu'un peut m'expliquer svp qu'est-ce et pourquoi est-il utilisé?
Mise à jour:
C'est en fait une partie de réagissent-redux
qui est utilisé pour connecter une Réagir composant à un Redux magasin.
- Je ne suis pas familier avec Redux, mais il ressemble à un décorateur. medium.com/google-developers/...
- J'aime la façon dont cette nouvelle JavaScript monde, vous êtes à regarder le code de la moitié du temps et de la pensée "de quelle partie de la syntaxe de la langue est-ce?"
- Lol, je suis profondément dans redux et des trucs maintenant. Mais à l'époque, je ne connaissais pas le décorateur la syntaxe n'a rien à voir avec redux. Son JavaScript. Content de voir que cette question est utile à beaucoup de gens comme moi. 🙂
- Apparemment, le redux équipe décourage l'utilisation de se connecter en tant que décorateur pour le moment github.com/happypoulp/redux-tutorial/issues/87
Vous devez vous connecter pour publier un commentaire.
La
@
symbole est en fait une expression JavaScript il est actuellement proposé pour signifier décorateurs:Voici un exemple de configuration de Redux sans et avec un décorateur:
Sans un décorateur
À l'aide d'un décorateur
Les deux exemples ci-dessus sont équivalents, c'est juste une question de préférence. Aussi, le décorateur la syntaxe n'est pas intégré dans le code Javascript runtimes encore, et qui est encore au stade expérimental et sous réserve de modification. Si vous voulez l'utiliser, il est disponible à l'aide de Babel.
@connect(state => ({todos: state.todos}), dispatch => ({actions: bindActionCreators(actionCreators, dispatch)}))
"at design time"
? Jamais entendu ce terme de la conception du temps. pouvez-vous l'expliquer?Très Important!
Ces accessoires sont appelés état des accessoires et elles sont différentes de la normale accessoires, de tout changement à votre état des composants accessoires de déclencher la composante méthode render encore et encore, même si vous n'utilisez pas ces accessoires afin de des Raisons de Performances essayez de lier à votre composante de l'état des accessoires que vous avez besoin à l'intérieur de votre composant, et si vous utilisez un sous props lier ces accessoires.
exemple:
permet de dire à l'intérieur de votre composant que vous avez seulement besoin de deux accessoires:
ne pas faire cette
ce faire