Size: a a a

React Native — русскоговорящее сообщество

2016 July 14

A

Alexander in React Native — русскоговорящее сообщество
спасибо, попробую
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
Парни, тут все на тачабл создают функции

<TouchableHighlight onPress={() => this.setState({ toggled: !this.state.toggled })}>
         <Text>Toggle</Text>
       </TouchableHighlight>

на сколько это нормально для нейтива. Для реакта это bad practice, а что здесь?
источник

A

Alexander in React Native — русскоговорящее сообщество
почему bad practice?
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
при каждом рендере создается функция
источник

SS

Sergey Smyshlyaev in React Native — русскоговорящее сообщество
ID:148175028
при каждом рендере создается функция
Так вынесете в метод класса.
Здесь в основном хэллоуворлды и сниппеты с rnplay мелькают, в таких примерах никто заморачиваться не будет.
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
тогда второй вопрос, как передавать дополнительные аргументы?
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
в реакте взял от ивента дом элемент и считал у него все, что нужно
источник

SS

Sergey Smyshlyaev in React Native — русскоговорящее сообщество
ID:148175028
тогда второй вопрос, как передавать дополнительные аргументы?
Какие дополнительные аргументы, можете привести пример? В примере выше  дополнительных аргументов нет.
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
<TouchableHighlight onPress={() => this._handleItemTouch(currentIndex)}>
     <Text>{itemText}</Text>
   </TouchableHighlight>
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
Sergey Smyshlyaev
Какие дополнительные аргументы, можете привести пример? В примере выше  дополнительных аргументов нет.
у примеру currentIndex
источник

RL

Roman Loginov in React Native — русскоговорящее сообщество
здесь есть пример как это решается
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
не вижу как оно там у них решается в контексте нейтива
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
можно затулить итерацию еще в один компонент
источник

RL

Roman Loginov in React Native — русскоговорящее сообщество
...
источник

RL

Roman Loginov in React Native — русскоговорящее сообщество
<ChildItem currIndex={index} onPress={this.handlePress} />


и в самом чайлд итеме:

itemPress() {

  this.props.onPress(currIndex);

}


render() {

    return <TouchableHighlight onPress={this.itemPress}>

      <Text>{itemText}</Text>

    </TouchableHighlight>
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
Roman Loginov
<ChildItem currIndex={index} onPress={this.handlePress} />


и в самом чайлд итеме:

itemPress() {

  this.props.onPress(currIndex);

}


render() {

    return <TouchableHighlight onPress={this.itemPress}>

      <Text>{itemText}</Text>

    </TouchableHighlight>
Спасибо, а доступа как в реакте через event.currentTarget.dataset.currindex получить нельзя?
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
т.е. взять один из аттрибутов
источник

RL

Roman Loginov in React Native — русскоговорящее сообщество
открой дебагер / используй console.log и попробуй самостоятельно ответить на свой вопрос
источник

NK

ID:148175028 in React Native — русскоговорящее сообщество
та там такой срач в месте где должен быть event что глаза поломать можно
источник

RL

Roman Loginov in React Native — русскоговорящее сообщество
я бы именно так и поступил на твоем месте
источник