当我把函数传递给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>
);
1条答案
按热度按时间z2acfund1#
我试图在函数props.onpress()中调用函数without(),其次,我输入了一个错误的值作为参数