2017-02-20 1 views
1

Что лучше всего подходит для визуализации ошибок, загрузки или пустого состояния?Контейнеры или компоненты для условного рендеринга

Лучше ли управлять контейнером рендерингом или иметь компонент, который по существу относится к управлению этим?

например

render() { 
    const { 
     loading, 
     error, 
     items 
    } = this.state; 

    return (
     <div> 
      { 
      loading && 
      <Loading /> 
      } 
      { 
      error && 
      <Error /> 
      } 
      etc... 

или

const ItemList = ({ items, loading, error }) => { 
    if (loading) { 
     return <Loading /> 
    } 
    etc... 

Все мнения приветствуются/оценены. Спасибо!

ответ

0

Оба являются точными и являются «официально правильными» в соответствии с документами. conditional rendering.

Однако в вашем примере я лично считаю, что ваш второй пример более читабельен. Сначала вы заботитесь о специальных случаях (ошибка и загрузка), затем «счастливый путь». Это быстро и легко читать!

+0

Я полностью забыл об этой странице, хотя я уже ее посещал раньше - так что это было очень полезно. Благодаря! – ggilberth

1

Я думаю, что мы должны сделать как можно больше компонентов. Это делает код понятным, а компоненты более функциональными.

В вашем случае логика должна быть в базовом компоненте. Я думаю, ваш компонент должен отвечать только за его собственное мнение. И он не должен знать о логике, с которой он должен отображаться.

Смежные вопросы