Рубрики
Без рубрики

Как создать трехслойное приложение с реагированием

Откройте для себя функциональный JavaScript был назван одним из лучших новых функциональных книг по программированию BookAuthority! Разделение приложения одной страницы на слои имеет набор преимуществ: лучшее разделение реализации слоя озабочков может быть заменит слой UI, может быть трудно проверить. Перемещая логику к другому

Автор оригинала: 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       
  • { props.todo.title}
    { props.todo.userName }
  • ; }

    Читать Функциональная архитектура с реагированием и redux И научитесь создавать приложения в стиле функций.

    Откройте для себя функциональный JavaScript был назван одним из Лучшие новые функциональные программирования книги BookAuthority Действительно

    Для получения дополнительной информации о применении методов функциональных программиров в реакции посмотрите на Функциональный реагировать Отказ

    Вы можете найти меня на Средний и Twitter Отказ