onPress在react native中传递函数时不会被触发?

nxowjjhe  于 2023-04-22  发布在  React
关注(0)|答案(1)|浏览(231)

当我把函数传递给onPress时,它永远不会被触发,它只在主组件的引用函数的props从子组件传递时才会被触发。同时,即使我在TextInput中输入usestate的值,它也会返回没有值的Alert。任何帮助都会受到高度赞赏。
例如,当我把props.onPress直接传递给onPress时,它被触发并调用引用函数。

<Button title='Add Goal' onPress={props.onPress} /> //WORKS 


function Press() {
if(enteredApiKey.length()==""){
  Alert.alert("enter a value ");
  
}
else {
   props.onPress;
}

   
   }

 <Button title='Add Goal' onPress={Press} />.  // NOT WORKING

但当我声明一个函数并将该函数传递给onPress时,onPress永远不会像上面那样被触发
整个代码如下

function LoginKey(props) {
  const [enteredApiKey, setEnteredKey] = useState('');

  function keyInputHandler(enteredKey) {
    setEnteredKey(enteredApiKey);
  }

  function Press() {
if(enteredApiKey.length()==""){
  Alert.alert("enter a value ");
  
}
else {
   props.onPress;
}

  

  return (
    <Modal visible={props.visible} animationType='slide'>
      <View style={styles.inputContainer}>
        <Image
          style={styles.image}
          source={require('../assets/Image/ucp.png')}
        />
        <TextInput
          style={styles.textInput}
          placeholder='Enter Api key !'
          onChangeText={keyInputHandler}
        />
        <View style={styles.buttonContainer}>

        <Button title='Add Goal' onPress={Press} />       // does not works 
        <Button title='Add Goal' onPress={props.onPress} />.    //works 


        </View>
      </View>
    </Modal>
  );
z2acfund

z2acfund1#

我试图在函数props.onpress()中调用函数without(),其次,我输入了一个错误的值作为参数

相关问题