W poprzednim rozdziale „WPROWADZENIE DO REACT JS” opisałem podstawy biblioteki, m.in budowę komponentów funkcyjnych i argumenty przekazywane do nich. Teraz zajmiemy się klasami, są one ciekawsze 🙂 i posiadają większe możliwości, np: definiowanie wewnętrznego stanu komponentu, funkcji pomocniczych, pozwalają tworzyć interakcje, reagować na zdarzenia itd.
Przykład:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>React.js</title> <script src="https://unpkg.com/react/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone/babel.js"></script> </head> <body> <div id="app"></div> <script type="text/babel"> class Hello extends React.Component { render() { return <h1>{this.props.message}</h1> }; } ReactDOM.render(<Hello message="Hello World!" />, document.getElementById('app')); </script> </body> </html> |
Klasa Hello dziedziczy (extends) po React.component.
Funkcja render() zwraca nagłówek <h1> z wartością argumentu message:
1 |
{this.props.message} |
Słowo kluczowe this odwołuje się do argumentu wewnątrz obiektu, który go wywołał. Może to być również odwołanie do funkcji: this.MyFunction, do stanu: this.state itp. To standardowy zapis 😉 i będziesz go często stosował kodując w ReactJS.
Przy użyciu ReactDOM wyświetlamy komponent <Hello /> przekazując mu argument message z treścią powitania: „Hello World!”
1 |
<Hello message="Hello World!" /> |
Czytaj dalej: „STATE – WEWNĘTRZNY STAN KOMPONENTU”