web-dev-qa-db-fra.com

Comment importer une partie d'un objet dans les modules ES6

Dans le réagissez documentation j'ai trouvé cette façon d'importer PureRenderMixin

var PureRenderMixin = require('react/addons').addons.PureRenderMixin;

Comment peut-il être réécrit dans le style ES6. La seule chose que je peux faire est:

import addons from "react/addons";
let PureRenderMixin = addons.addons.PureRenderMixin;

J'espère qu'il y a une meilleure façon.

16
Glen Swift

Malheureusement instructions d'importation ne fonctionne pas comme déstructuration d'objet . Les accolades ici signifient que vous souhaitez importer un jeton avec ce nom mais pas la propriété de l'exportation par défaut. Regardez ces paires d'import/export:

 //module.js
 export default 'A';
 export var B = 'B';

 //script.js
 import A from './a.js';  //import value on default export
 import {B} from './a.js'; // import value by its name
 console.log(A, B); // 'A', 'B'

Pour votre cas, vous pouvez importer un objet entier et effectuer une affectation de déstructuration

 import addons from "react/addons";
 let {addons: {PureRenderMixin}} = addons;
21
just-boris
import PureRenderMixin from 'react-addons-pure-render-mixin';

Voir l'exemple ici .

4
Daniel Storch