Я хочу иметь глобальное окно ModalWindow, к которому я могу получить доступ из любого места в моем приложении ReactNative, например, в моем App.js.Когда я пытаюсь установить состояние из другого места в программе, это не позволяет мне.
В конструкторе для класса InfoModal я назначаю указатель объектов для хранения в глобальной переменной.Оттуда я могу изменить значение состояния, и метод визуализации будет вызван, когда это будет сделано, однако ... Модальное окно не откроется, даже если состояние истинно.
class InfoModal extends React.Component{
constructor(props){
super(props);
this.state = {
is_open : true,
is_loaded : true
};
global.INFO_MODAL = this;
}
close = () =>{
console.log("Close");
this.setState({
is_open : false
});
this.forceUpdate();
}
open = () =>{
console.log("Open");
this.setState({
is_open : true
});
this.forceUpdate();
}
render(){
console.log(this.state.is_open);
if(this.state.is_open){
console.log("HIII i'm called");
return(
<MaterialDialog
title = {"Slynluder"}
visible = {true}
onOk = { () => this.close()}
onCancel = { () => this.close() } >
<Text style={this.props.dialogText}>
This is my content for the dialog
</Text>
</MaterialDialog>
);
}else{
return null;
}
}
}
Когда я тогда вызываю global.INFO_MODAL.open ();из другого места в программе console.log («Открыто называется») и состояние изменяется, но диалог не открывается.То, что я хотел бы, чтобы диалог был открыт.Любые советы приветствуются!