Как параметр реквизита работает в HOC в React ES6? [Дубликат]

key, value = max(stats.iteritems(), key=lambda x:x[1])

Если вы не заботитесь о ценности (я был бы удивлен, но), вы можете это сделать:

key, _ = max(stats.iteritems(), key=lambda x:x[1])

Мне нравится распаковка кортежей лучше, чем индекс [0] на конец выражения. Мне очень не нравится читаемость лямбда-выражений, но найти это лучше, чем operator.itemgetter (1) IMHO.

3
задан Shubham Khatri 26 April 2018 в 17:32
поделиться

1 ответ

Чтобы добавить больше к тому, что сказал @AliAnarkali, HOC возвращает вам компонент, поэтому, когда вы пишете, как

const EnhancedApp = withProps(App);

, EnhancedApp в основном

  const EnhancedApp = props => {
    return <Component {...props}/>
  }

, который является функциональным компонентом и когда вы рендерите EnhancedApp, например

<EnhancedApp onChange={this.onChange} value={this.state.value} />

Это похоже на то, как функциональный компонент получает onChange и значение в качестве реквизита и, следовательно, в HOC, внутренняя функция получает такие реквизиты.

0
ответ дан Shubham Khatri 16 August 2018 в 04:25
поделиться
  • 1
    Спасибо, это действительно помогло сломать это в моей голове! – Samuel 25 April 2018 в 09:17
  • 2
    Рад помочь :-) – Shubham Khatri 25 April 2018 в 09:33
  • 3
    @ShubhamKhatri Мне не хватает нити AliAnarkali. Можете ли вы повторить то, что он сказал? – user 26 April 2018 в 18:16
Другие вопросы по тегам:

Похожие вопросы: