Стрелка рефакторинга от jsx prop - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть этот кусок кода, который работает, но я получаю сообщение об ошибке, которое говорит, что функции стрелки не должны использоваться внутри jsx props.Я исследовал и теперь понимаю, почему, но у меня возникают проблемы с рефакторингом, чтобы заставить его работать.Как лучше всего это сделать?

const renderButtons = (data, onChange) => {
  const id = data.get('id');

  const buttons = (
    <View style={ styles.buttons }>
      <Button onPress={ () => onChange(this, { name: id, value: 'alpha' }) } title='A' />
      <Button onPress={ () => onChange(this, { name: id, value: 'beta' }) } title='B' />
    </View>
  );

  return buttons;
};

1 Ответ

0 голосов
/ 21 декабря 2018

Примерно так должно быть хорошо.

const renderButtons = (data, onChange) => {
  const handlePress = (ele, obj) => onChange(ele, obj);
  const id = data.get('id');

  return (
    <View style={styles.buttons}>
      <Button onPress={handlePress(this, { name: id, value: 'alpha' })} title='A' />
      <Button onPress={handlePress(this, { name: id, value: 'beta' })} title='B' />
    </View>
  );
};
...