I have seen two ways of accessing Component:
import React from 'react';
class Foo extends React.Component {
...
}
and
import React, { Component } from 'react';
class Foo extends Component {
...
}
Is there any difference between the two (maybe in performance, for example)?
Short answer: no.
Looking at it from the other side might make understanding easier.
If you imagine the react module itself - it might look something like this.
export const Component = () => {}; // the component class/function
const React = { Component: Component }; // the main react object
export default React;
Notice the use of export.
The default export is React, so it is accessed (or imported) in another module like this:
import React from 'react';
Component is a named export: Component, and so is accessed in another module via:
import { Component } from 'react';
But in this case Component is also attached to the React object. So you could use the imports in any of the following ways:
import React, { Component } from 'react';
class MyComp extends React.Component {}
class MyOtherComp extends Component {}
A few other points worth mentioning:
import Cat from 'react';.import { Component as Cat } from 'react';In first example you got the whole exports through import React, and you call Component through react import. In second example you import Component separately from React. That's why you don't need to write React.Component. It's the same, but in different ways of import.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With