Как передать 2 функции в touchableOpacity в качестве свойств? - PullRequest
0 голосов
/ 17 июня 2020

Например, у меня есть TouchableOpacity компонент в качестве опоры. Когда нажимается TouchableOpacity, я хочу вызвать две функции. Это то, что у меня есть

<TouchableOpacity onPress={onPressConfirm}>
 <Text>Yes</Text>
</TouchableOpacity>

При нажатии TouchableOpacity я хотел бы, чтобы он также закрыл модальное окно. Как передать setModalVisible в качестве опоры с onPressConfirm. Вот что я пробовал.

<TouchableOpacity onPress={onPressConfirm, setModalVisible}>
 <Text>Yes</Text>
</TouchableOpacity>

Не работает. Есть предложения?

Ответы [ 3 ]

0 голосов
/ 17 июня 2020

В случае, если onPressConfirm ожидает получить setModalVisible в качестве аргумента:

<TouchableOpacity onPress={()=>(onPressConfirm(setModalVisible))}>
 <Text>Yes</Text>
</TouchableOpacity>
0 голосов
/ 17 июня 2020

Разобрался. Вы делаете это:

<TouchableOpacity 
  style={styles.confirmationButtonContainer} 
  onPress={() => {onPressConfirm(); setModalVisible(!modalVisible);}}
>
0 голосов
/ 17 июня 2020

Учитывая, что TouchableOpacity - это ваш пользовательский компонент.

<TouchableOpacity onPress={onPressConfirm} visibilitySetter={setModalVisible} >
 <Text>Yes</Text>
</TouchableOpacity>

Если это TouchableOpacity ReactNative. Просто передайте одну функцию и вызовите две функции из переданной функции.

<TouchableOpacity onPress={handlePress}>
 <Text>Yes</Text>
</TouchableOpacity>

const handlePress = () => {
   onPressConfirm()
   setModalVisible()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...