it-roy-ru.com

React свойства по умолчанию для функциональных компонентов и параметры по умолчанию

В React функциональный компонент, который является лучшим подходом для установки параметров по умолчанию, используя Component.defaultProps или используя параметры по умолчанию в определении функции, примеры :

Реквизиты по умолчанию:

const Component = ({ prop1, prop2 }) => (
  <div></div>
)

Component.defaultProps = {
  prop1: false,
  prop2: 'My Prop',
}

Параметры по умолчанию:

const Component = ({ prop1 = false, prop2 = 'My Prop' }) => (
  <div></div>
)    
30
Iago Dahlem

Вообще (ES6) второй способ лучше.

В конкретном (в контексте React) первое лучше, так как это основная фаза в жизненном цикле компонента, а именно фаза инициализации.

Помните, ReactJS был изобретен до ES6.

20
Abdennour TOUMI

Чтобы устранить некоторую путаницу здесь:

Синтаксис «Параметры по умолчанию» недействителен.

Единственный способ, которым параметр ES6 по умолчанию будет будет удаленно применим к функциональным компонентам React, будет 

const Component = (props = { prop : 'Don't ever do this' }) {
    ...
}

Это инициализирует аргумент props undefined, который никогда не происходит, потому что React предоставит объект props null, когда вы не определяете props.

Если это произойдет, он заменит все реквизиты только тогда, когда ни один из них не задан, что совершенно не то, что делают реквизиты по умолчанию в React, т. Е. Предоставляют значения по умолчанию для отдельных реквизитов независимо.

0
fforw