You don’t always need to import React
Sung Kim Nov 26 Originally published at slightedgecoder.com on Nov 26, 2018
r/reactjs has a Weekend Reads, which is a “‘book club’ type thing where we read something every weekend”.
The question is “why do you import React” when “React” is not used anywhere in your component code?
When you start learning react, you might been told to always import React,
import React from "React" in your component file.
But that’s not always necessary.
To understand why, let’s see what JSX is.
The subtitle in JSX in Depth describes JSX as
Fundamentally, JSX just provides syntactic sugar for the
React.createElement(component, props, ...children)function
You can either use the JSX syntatic sugar 🍬 to create components or use
React.createElement directly if you are not transpiling your source code.
No. not unless you use React object for your component.
That is the full source for
In this case,
React object is not used anywhere so you can leave out the import statement (but still is a valid component).
📒 Note: If you are creating a class component, you need to import React as it needs to extend
And then you can import
App.js just like any React component (Line #4).
I hope this has solved for the need to import React for components.
99% of the time, you’d use React object in someway to create a component so probably a good idea to import React anyway
☝ Forget about this...😅
- Weekend Reads on r/reactjs – One article per week.
- JSX in Depth
- See how BabelJS transpiles JSX – Just paste your React code in it.
- Demo Sandbox