Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按React Native按钮控制导入的类状态_Javascript_React Native_React Native Android - Fatal编程技术网

Javascript 按React Native按钮控制导入的类状态

Javascript 按React Native按钮控制导入的类状态,javascript,react-native,react-native-android,Javascript,React Native,React Native Android,我不知道我的案件的确切名称,所以我会详细解释 下面是我的弹出类。 export default class Popup extends Component{ constructor(props){ super(props); this.state={ isshowing: true, } } handleShow(){ this.setState({isshowing:true})

我不知道我的案件的确切名称,所以我会详细解释

下面是我的弹出类。

export default class Popup extends Component{
    constructor(props){
        super(props);
        this.state={
            isshowing: true,
        }
    }

    handleShow(){
        this.setState({isshowing:true})
    }


    return(
            <View style={{}}>
                        <TouchableOpacity
                            style={{}}
                            onPress={() => this.setState({isshowing:false})}
                        >
                            <Text>X</Text>
                        </TouchableOpacity>
            </View>
        );
    }
}
导出默认类弹出扩展组件{
建造师(道具){
超级(道具);
这个州={
是的,
}
}
handleShow(){
this.setState({isshowing:true})
}
返回(
this.setState({isshowing:false})
>
X
);
}
}
我忽略了一些不必要的事情,如风格等

我想通过状态控制弹出类的可见性

我可以制作关闭按钮,因为关闭按钮在popup类中,但是我想制作外部按钮(在主类中)使这个弹出窗口可见,因为我正在导入popup类


我该怎么做呢?

您可以从调用的类传递道具,例如:

export default class Parent extends Component{

....
<Button
 title={"Make Popup visible Button"}
 onPress={()=>this.setState({isPopupVisible:true})
/>

<Popup isVisible={this.state.isPopupVisible} />

....
}
导出默认类父扩展组件{
....
this.setState({isPopupVisible:true})
/>
....
}
在弹出类中,您应该将父类中传递的isVisible道具分配给弹出类状态-isshowing


如果弹出窗口不使用任何状态(如在许多情况下),则应该考虑使用SFC(无状态功能组件)。维护起来容易多了。

谢谢!我改变了Popup的生命周期功能。