我经常看到人们使用两种不同的制作组件的方法
import React from 'react';
class Alpha extends React.Component {
render(){
...
}
}
或
import React, { Component } from 'react';
class Alpha extends Component {
render(){
...
}
}
这是更好的方法吗?这两种方法有什么不同?
答案 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() {...}