React. Материалы курса
Материалы курса можно скачать из репозитория https://github.com/Juriy/pro-react-redux
Команда для скачивания
$ git clone https://github.com/Juriy/pro-react-redux
Чтобы запустить код, заходим в нужную папку, и выполняем команду
$ npm install
Эта команда позволяет npm скачать нужные зависимости
Следующая команда
$ npm start
Эта команда запускает вебпак и собирает нужные зависимости в один проект
Babel - это бесплатный JavaScript-компилятор, который позволяет превратить новый современны код в код, понятный не самым новым и не самым современным браузерам.
Больше того, Babel позволяет использовать даже ещё не вошедшие в финальную стадию предложения по улучшению языка, те возможности, которые ещё только будут включены в стандарты EcmaScript
Если react-элемент просто кусочек разметки JSX, то react-компонент - класс или функция, у которой есть собственные параметры (props, от англ. properties - свойства), а в случае использования классов ещё может быть и состояние - state.
В React есть несколько разных типов компонентов
Мы начнем с подклассов React.Component:
Два способа объявления React-компонента
1. способ, использующий классы ES6:
class MyComponent extends React.Component {
render() {
return <div className = {this.props.className}/>;
}
}
Пример использования:
const el = < MyComponent className ="Mark" />;
ReactDOM.render(el, document.querySelector('#root'));
2. объявление компонентов как функций от props:
const MyComponent = props => (
<div className={props.className}/>
);
Второй способ короче.
Ограничением является то, что функциональные компоненты не могут иметь связанное с ними состояние
Мы можем создавать свои компоненты и обращаться к ним так
< MyComponent />
Собственные компоненты, в отличии от стандартных тегов, всегда записываем с заглавной буквы.
Реакт-элемент – самый маленький кирпичик, из которых строятся реакт-компоненты.
import React from ‘react’;
import ReactDOM from ‘react-dom’;
2. создаём реакт-элемент
const el = <h1>Hello world!</h1>
Примечание. Если код элемента состоит из нескольких строк, его нужно обернуть в круглые скобки
3. используем ReactDOM для того, чтобы отобразить элемент на странице
ReactDOM.render(el, document.querySelector('#root'));
Первый аргумент в функции render – какой элемент добавляем, второй – куда добавляем (в элемент с id root в html-разметке)
Примечание. Чтобы изменения мгновенно отображались в проекте, должен быть запущен npm, и в нём запущена команда npm start
npm start мониторит все изменения в проекте и отображает их на экране браузера
Создадим ещё один элемент
import React from 'react';
import ReactDOM from 'react-dom';
const el = (
<div>
<h1>My Todo List</h1>
<input placeholder = 'search' />
<ul>
<li>Learn React</li>
<li>Create Awesome App</li>
</ul>
</div>
)
ReactDOM.render(el, document.querySelector('#root'));
Разобьём созданный реакт-элемент на отдельные компоненты
import React from 'react';
import ReactDOM from 'react-dom';
const TodoList = () => {
return (
<ul>
<li>Learn React</li>
<li>Create Awesome App</li>
</ul>
);
};
const AppHeader = () => {
return <h1>My Todo List</h1>;
};
const SearchPanel = () => {
return <input placeholder = 'search' />;
};
const el = (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
ReactDOM.render(el, document.querySelector('#root'));
Когда нам понадобится использовать созданные компоненты в других частях приложения или менять их, сделать это будет намного проще.
В любом месте кода, где нам понадобится заголовок или панель поиска или список дел, вместо того, чтобы копировать кусок разметки, мы будем использовать созданный реакт-компонент.
Переиспользуемые компоненты экономят как время разработчика, так и ресурсы компьютера
*** Примечание.
Получается, прежде, чем приступать к работе над реакт-приложением, нужно чётко уяснить себе его структуру, какие компоненты будут повторяться, какие данные в них мы планируем менять, чтобы вынести их в props - properties - свойства.
Общее правило для создания реакт-компонентов то же, что, что и для создания функций в JavaScript - каждый компонент, как и каждая функция, в идеале должны выполнять только одно действие.
Следующий логичный шаг - вынести блок в отдельный компоненты
Вместо
const el = (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
Пишем
const App = () => {
return (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
};
ReactDOM.render(<App/>, document.querySelector('#root'));
Важно помнить, что первым параметром ReactDOM.render всегда должен быть элемент, то есть один блок кода.
Передать в ReactDOM.render два div, например, не получится, предварительно для них нужно создать общий div-обёртку и рендерить уже его.
Команда для скачивания
$ git clone https://github.com/Juriy/pro-react-redux
Чтобы запустить код, заходим в нужную папку, и выполняем команду
$ npm install
Эта команда позволяет npm скачать нужные зависимости
Следующая команда
$ npm start
Эта команда запускает вебпак и собирает нужные зависимости в один проект
Babel
Babel - это бесплатный JavaScript-компилятор, который позволяет превратить новый современны код в код, понятный не самым новым и не самым современным браузерам.
Больше того, Babel позволяет использовать даже ещё не вошедшие в финальную стадию предложения по улучшению языка, те возможности, которые ещё только будут включены в стандарты EcmaScript
Компоненты React
React-компоненты - независимые блоки кода, которые могут иметь своё собственное поведение.Если react-элемент просто кусочек разметки JSX, то react-компонент - класс или функция, у которой есть собственные параметры (props, от англ. properties - свойства), а в случае использования классов ещё может быть и состояние - state.
В React есть несколько разных типов компонентов
Мы начнем с подклассов React.Component:
Два способа объявления React-компонента
1. способ, использующий классы ES6:
class MyComponent extends React.Component {
render() {
return <div className = {this.props.className}/>;
}
}
Пример использования:
const el = < MyComponent className ="Mark" />;
ReactDOM.render(el, document.querySelector('#root'));
2. объявление компонентов как функций от props:
const MyComponent = props => (
<div className={props.className}/>
);
Второй способ короче.
Ограничением является то, что функциональные компоненты не могут иметь связанное с ними состояние
Мы можем создавать свои компоненты и обращаться к ним так
< MyComponent />
Собственные компоненты, в отличии от стандартных тегов, всегда записываем с заглавной буквы.
Реакт-элемент – самый маленький кирпичик, из которых строятся реакт-компоненты.
Создаём реакт-элемент
1. подключаем библиотеки реакт и реакт домimport React from ‘react’;
import ReactDOM from ‘react-dom’;
2. создаём реакт-элемент
const el = <h1>Hello world!</h1>
Примечание. Если код элемента состоит из нескольких строк, его нужно обернуть в круглые скобки
3. используем ReactDOM для того, чтобы отобразить элемент на странице
ReactDOM.render(el, document.querySelector('#root'));
Первый аргумент в функции render – какой элемент добавляем, второй – куда добавляем (в элемент с id root в html-разметке)
Примечание. Чтобы изменения мгновенно отображались в проекте, должен быть запущен npm, и в нём запущена команда npm start
npm start мониторит все изменения в проекте и отображает их на экране браузера
Создадим ещё один элемент
import React from 'react';
import ReactDOM from 'react-dom';
const el = (
<div>
<h1>My Todo List</h1>
<input placeholder = 'search' />
<ul>
<li>Learn React</li>
<li>Create Awesome App</li>
</ul>
</div>
)
ReactDOM.render(el, document.querySelector('#root'));
Разобьём созданный реакт-элемент на отдельные компоненты
import React from 'react';
import ReactDOM from 'react-dom';
const TodoList = () => {
return (
<ul>
<li>Learn React</li>
<li>Create Awesome App</li>
</ul>
);
};
const AppHeader = () => {
return <h1>My Todo List</h1>;
};
const SearchPanel = () => {
return <input placeholder = 'search' />;
};
const el = (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
ReactDOM.render(el, document.querySelector('#root'));
Когда нам понадобится использовать созданные компоненты в других частях приложения или менять их, сделать это будет намного проще.
В любом месте кода, где нам понадобится заголовок или панель поиска или список дел, вместо того, чтобы копировать кусок разметки, мы будем использовать созданный реакт-компонент.
Переиспользуемые компоненты экономят как время разработчика, так и ресурсы компьютера
*** Примечание.
Получается, прежде, чем приступать к работе над реакт-приложением, нужно чётко уяснить себе его структуру, какие компоненты будут повторяться, какие данные в них мы планируем менять, чтобы вынести их в props - properties - свойства.
Общее правило для создания реакт-компонентов то же, что, что и для создания функций в JavaScript - каждый компонент, как и каждая функция, в идеале должны выполнять только одно действие.
Следующий логичный шаг - вынести блок в отдельный компоненты
Вместо
const el = (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
Пишем
const App = () => {
return (
<div>
<AppHeader/>
<SearchPanel/>
<TodoList/>
</div>
);
};
ReactDOM.render(<App/>, document.querySelector('#root'));
Важно помнить, что первым параметром ReactDOM.render всегда должен быть элемент, то есть один блок кода.
Передать в ReactDOM.render два div, например, не получится, предварительно для них нужно создать общий div-обёртку и рендерить уже его.