artes2517 / Telegraph

1 stars 0 forks source link

Замечания и рекомендации по lw5 - Telegraph #1

Open ivklgn opened 6 years ago

ivklgn commented 6 years ago

Архитектура приложения Так как выбран React для разработки интерфейса - имеет смысл использовать силу его компонентного подхода и не делать всё приложение в одном контейнере. В данном случае неверно сделана обработка логики роутов - мы зависим от состояния внутри контейнера.

  1. Разбить приложение на 2 контейнера - контейнер который представляет страницу для создания публикации и контейнер для вывода публикации.
  2. Форму с полями для ввода публикации стоит вынести в компонент (не в контейнер!). Таким образом один и тот же компонент вы сможете использовать и в контейнере создания публикации и при редактировании, находясь в публикации.
  3. При разбивке на 2 контейнера - подобная логика должна уйти:
    getInitialState() {
    console.log(this.storyId)
    if (this.storyId === '') {
      return ({
        title: '',
        author: '' ,
        discription: '',
        dateTime: null,
        buttonText: 'PUBLISH',
        canEdit: true,
        momentVisibility: 'moment-hidden'
      });
    }
    return {...this.storyList.get(this.storyId), 
      buttonText: 'EDIT', 
      canEdit: false,
      momentVisibility: 'moment-visible'
    }
    }

    initial state - это начальное состояние которое не зависит от внешних условий.

  4. Формат даты в хранилище сейчас невалидно отражается (пример: загаловок-9-2-1). Придерживаться примера http://telegra.ph/
  5. Сделать более красивым отображение даты публикации (см. telegra.ph) image

kQ=0.5

ivklgn commented 6 years ago

}


сделать механизм определения доступности сервера.

- [x] посмотреть обработку ошибок в запросах
ivklgn commented 6 years ago