Importing and Exporting items
Learn how to import and export items to use them in different files.
We'll cover the following
To write tests for a particular JavaScript file, the items being tested in that file must be accessible from the testing file. This means that the source file must export them, and the test file must import them.
Exporting items
The last line in a JavaScript file often specifies the default export, which is what gets exported if no item is explicitly named. If there is only one thing to export, such as if each component and function is in a separate file, then this last line suffices.
export default App;
In general, classes, functions, and objects can be exported using an export statement, which is usually the last line of the file.
export { getCollatzSequence, Collatz, App };
Typically, the default export is not needed for any given file. However, in the index.js
file of a create-react-app
application, it’s assumed that App
is the default export. For App.js
, we’ll want to keep the default export statement but add the export for the list of items.
Importing items
Once the three items are exported from App.js
, they can then be imported into App.test.js
. If it’s in the same directory as App.js
, the following import
statement will work in ES6 and JSX[33].
import { getCollatzSequence, Collatz, App } from './App';
If the file is in a different directory, use the relative path to get to it, starting with a dot, such as './components/CoolComponent'
. We have to be sure that the relative import remains within the src
directory, or a subdirectory any number of levels below it. The import must give the names of the items to import, but the order in which they are listed is irrelevant.
Get hands-on with 1400+ tech skills courses.