Logo

Importowanie komponentów z innych plików

Pod spodem create react app korzysta z webpacka. Nie jest to kurs z webpacka, ale pare rzeczy należy widzieć by korzystać z tego wygodnie.

Webpack buduje drzewo zależności między plikami, wrzuca wszystko do jednego jsa i pierdyliard innych rzeczy.

webpack

W /src/index.js widzicie u góry np.

import React from 'react'

Efekt jest podobny jakbyście wrzucili reacta z linku jak na samym początku. Od teraz React będzie dostępny w tym pliku js oraz można się do niego odwołać przez zmienną o nazwie React. Każdy plik używający jsx musi zaciągnąć reacta.

Importy absolutne - biblioteki

import React from 'react';
import axios from 'axios';

Ścieżki niezależne (bez slashy z przodu) będą szukały tych zależności w node_modules. Tam instalowane są rzeczy z dependencies w pliku package.json. Tam instalowane są paczki npm (inne gotowe moduły)

Tak mamy zaimportowane react, react-dom.

Wyjątek stanowią aliasy w webpacku, ale to pominiemy!

Importy relatywne - własne komponenty

import ContactForm from './components/ContactForm';
import Slider from './components/Slider';

Jeżeli podajemy ścieżkę relatywną (./components/mojSuperComponent.js) to webpack zaciągnie domyślny export (np. komponent), da nam referencję do niego w zmiennej i będziemy mogli go wykorzystywać. Typowy przykład

SignUpPage
|
|--Form
| |--Input
| |--Button

Taka kompozycja na razie będzie kłopotliwa, ale jak przećwiczymy to stanie się to bardzo naturalne. Pozwala to na chowanie implementacji w komponentach dzięki czemu nie insteresuje jak działa przycisk tylko jedynie jakie propsy (właściwoście przyjmuje).


Józef Piecyk

Napisane przez Józef Piecyk psiate, tate i fana sucharów.