Cela semble évident, mais je me suis retrouvé un peu perdu à savoir quand utiliser les accolades pour importer un seul module dans ES6. Par exemple, dans le projet React-Native sur lequel je travaille, j'ai le fichier suivant et son contenu :
Fichier état initial.js
var initialState = {
todo: {
todos: [
{id: 1, task: 'Finish Coding', completed: false},
{id: 2, task: 'Do Laundry', completed: false},
{id: 2, task: 'Shopping Groceries', completed: false},
]
}
};
export default initialState;
Dans le fichier TodoReducer.js, je dois l'importer sans accolades :
import initialState from './todoInitialState';
Si je joins le initialState
entre accolades, j'obtiens l'erreur suivante pour la ligne de code suivante :
Impossible de lire la propriété todo d'undefined
Fichier TodoReducer.js :
export default function todos(state = initialState.todo, action) {
// ...
}
Des erreurs similaires se produisent également pour mes composants avec les accolades. Je me demandais quand je devais utiliser les accolades pour une seule importation, car évidemment, lorsque l'on importe plusieurs composants/modules, il faut les entourer d'accolades, ce que je sais.
Le post de Stack Overflow à aquí ne répond pas à ma question, je demande plutôt quand Je dois ou ne dois pas utiliser les accolades pour importer une simple ou je ne devrais jamais utiliser d'accolades pour importer un module unique dans ES6 (ce n'est apparemment pas le cas, car j'ai vu des importations uniques avec des accolades obligatoires).
0 votes
Duplicata possible de utilisation des parenthèses avec la syntaxe d'importation javascript
8 votes
Non, c'est différent. merci
0 votes
Duplicata possible de Options d'exportation du module ES6 o Javascript (ES6), export const vs export default
3 votes
Non, c'est différent. merci
1 votes
Comment savoir si l'exportation est par défaut ou nommée ? par exemple, le lien du paquet reac-router-dom ? Disons que j'ai installé un paquet et que je veux l'importer, comment puis-je savoir si je dois utiliser {} ou non ?