什么时候应该写{}环绕导入的东西?

时间:2017-04-16 05:43:06

标签: javascript import react-native

请看看这些:

import React, { Component } from 'react';
import { AppRegistry, Text, View } from 'react-native';

如您所见,它会导入某些内容,但为什么React超出{}而其他所有内容都进入其中? {Component} { AppRegistry, Text, View }

无论如何,我什么时候应该把东西包裹进{}

2 个答案:

答案 0 :(得分:5)

区别在于文件导出的方式,没有{}是默认导出。只能有一个默认导出。

{}内的任何内容都是导出的命名导出函数,类或变量的一部分。

如果查看反应源代码,您会找到以下 es5 代码。

var ReactComponent = require('./ReactComponent');
...

var React = {
  ...
  Component: ReactComponent,
  ...
}

module.exports = React;

当您import React, { Component }导入所有React时 以及React.Component作为组件

class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

变为

class Welcome extends Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }
}

这通常用于解构对象,如下所示。

const person = {
  firstName: 'John',
  lastName: 'Doe',
};

const { firstName } = person;

相同
person.firstName

答案 1 :(得分:1)

当你

void Odometer::add_in_trip_miles(double milesToAdd){
    milesDriven += milesToAdd; // assuming milesDriven is the private variable in your class!
}

void Odometer::add_gas(double gallonsToAdd){
    gallonsGas += gallonsToAdd;  // assuming gallonsGas is the private variable in your class!      
}