简体   繁体   中英

How to import part of object in ES6 modules

In the react documentation I found this way to import PureRenderMixin

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

How can it be rewritten in ES6 style. The only thing I can do is:

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

I hope there is a better way.

Unfortunately import statements does not work like object destructuring . Curly braces here mean that you want to import token with this name but not property of default export. Look at this pairs of 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'

For your case you can import whole object and make a destructuring assignment

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

在这里查看示例。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM