我想在用户单击子组件中的"关闭"按钮时关闭孩子的子组件。试图通过将国家从孩子传给父母的情况下尝试,但它不起作用。我在这里做错了什么?
父母
class Home extends Component {
constructor() {
this.state = {
visible: true
}
{
closeComponent = () => {
this.setState({
visible: false
});
}
render() {
return (
<Container>
{
this.state.visible &&
<Child closeComponent={this.closeComponent} />
}
</Container>
)
}
}
儿童
import React from 'react';
import { Text, Image } from 'react-native';
import { View, Button } from 'native-base';
import styles from './ChildStyles.js';
export const Child = ({ closeComponent }) => {
return (
<View style={styles.Container}>
<Button style={styles.Btn} onClick={() => closeComponent}>
<Text style={styles.BtnText}>Close</Text>
</Button>
</View>
);
};
export default Child;
儿童中arrow function
的语法不正确。同样,本机基键按钮没有onClick
,而是onPress
处理程序。应该是
<Button style={styles.Btn} onPress={() => closeComponent()}>
<Text style={styles.BtnText}>Close</Text>
</Button>