Автор оригинала: Cristian Salcescu.
Откройте для себя функциональный JavaScript был назван одним из Лучшие новые функциональные программирования книги BookAuthority Действительно
Разделение приложения одного страницы на слои имеет набор преимуществ:
- лучшее разделение опасений
- Реализация слоя может быть заменена
- Слой UI может быть трудно проверить. Перемещая логику в другие слои, становится проще тестировать.
Ниже мы можем увидеть диаграмму разделения приложения в трех основных слоях:
- Ui (aka presentation, взгляд)
- Домен (aka business)
- Доступ к данным
Витрина
Я возьму дело о приложении, управляющем списком до DOS. Пользователь может видеть и искать для DOS.
Проверьте полную реализацию на Github.
Слой пользовательского интерфейса
Слой UI отвечает за отображение данных на странице и для обработки взаимодействий пользователей. Слой пользовательского интерфейса состоит из компонентов.
Я разделил страницу в следующих компонентах:
TodoContainerуправляет связью междуТодосерс,Тодолисти другие внешние объектыToDosearchFormЯвляется ли форма для поиска DOSТодолистОтображает список to-dosТодолистицем:Отображает один до-дел в списке
TodoSearch.
Компонент использует HandleChange обработчик, чтобы прочитать входное значение в любом изменении. Тодосерс Раскрывает новую недвижимость: onsearch Отказ Он может использоваться родительским компонентом для обработки кликов поиска.
Компонент не связывается с любыми другими внешними объектами, кроме его родителя. Тодосерс это компонент презентации.
export default class TodoSearch extends React.Component {
constructor(props){
super(props);
this.search = this.search.bind(this);
this.handleChange = this.handleChange.bind(this);
this.state = { text: "" };
}
search(){
const query = Object.freeze({ text: this.state.text });
if(this.props.onSearch)
this.props.onSearch(query);
}
handleChange(event) {
this.setState({text: event.target.value});
}
render() {
return ;
}
}Список дел
Тодолист Получает список Тодос рендерировать с использованием свойства. Он отправляет Тодос , один за другим, к Тодолистицем Отказ
Тодолист это функциональный компонент без гражданства.
export default function TodoList(props) {
function renderTodoItem(todo){
return ;
}
return
{ props.todos.map(renderTodoItem) }
;
}Тодолистицем
Тодолистицем Отображает Todo получен как параметр. Это реализуется как функциональный компонент без гражданства.
export default function TodoListItem(props){
return Читать Функциональная архитектура с реагированием и redux И научитесь создавать приложения в стиле функций.
Откройте для себя функциональный JavaScript был назван одним из Лучшие новые функциональные программирования книги BookAuthority Действительно
Для получения дополнительной информации о применении методов функциональных программиров в реакции посмотрите на Функциональный реагировать Отказ