创建反应组件的区别

时间:2017-05-11 10:54:39

标签: javascript reactjs

我经常看到人们使用两种不同的制作组件的方法

import React from 'react';

class Alpha extends React.Component {
  render(){
   ...
  }
}

import React, { Component } from 'react';

class Alpha extends Component {
  render(){
   ...
  }
}

这是更好的方法吗?这两种方法有什么不同?

3 个答案:

答案 0 :(得分:2)

  

哪种方式更好?

既不是,也不是两者兼而有之;例如,它没有任何区别。

  

这两种方法有什么不同?

唯一的区别是,在第二个示例中,模块中有一个范围内的Component标识符,而在第一个例子中则没有。{t}。它非常像你写的:

import React from 'react';
const Component = React.Component;

(非常喜欢,但不完全相同,或者至少不是JavaScript引擎支持的真正模块。)

这是你使用的风格问题。

答案 1 :(得分:0)

ES6有一个叫做对象解析的功能

来自'react'的

{Component}等于react.component 所以他们都是一样的 让我

let node = {
    type: "Identifier",
    name: "foo"
};

let { type, name } = node;//var type=node.type && var name =node.name


console.log(type);      // "Identifier"
console.log(name);      // "foo"

答案 2 :(得分:0)

它们都是一样的,我想更好的是第二个,因为它很简单。

基本上如果你说:

import React from 'react';

您正在从该文件导入“默认”导出值:

export default function React() {...}

但如果你这样做:

import { Component } from 'react';

您正在直接导入导出的值。

export function Component() {...}