Я создаю интегрированное приложение с нативным Android и нативным React, связывающимся друг с другом.
Для отправки данных из нативного в нативный React я пытался передать данные с помощью начальных параметров, но они не работали и показывалине определено.Затем я попытался использовать DeviceEventEmitter, который работал, но возникла небольшая проблема.
РЕДАКТИРОВАНИЕ:
Вот фрагмент кода :
class Details extends Component {
constructor(props){
super(props);
this.state={data: '', id: '278'}
}
componentDidMount(){
const eventEmitter = new NativeEventEmitter();
this.subscription = eventEmitter.addListener('customEventName',(e: Event)=>{
this.setState({id: e.key1});
console.warn(this.state.id);
});
const API_key = "APIkey"
console.warn(this.state.id);
const URL = "https://api.themoviedb.org/3/movie/" + this.state.id + "?api_key=" + API_key + "&language=en-USs"
return fetch(URL, {
method: 'GET'
})
.then((response) => response.json())
.then((responseJson) => {
this.setState({
data: responseJson,
},
function(){
});
})
.catch((error) =>{
console.error(error);
});
}
componentWillUnmount(){
this.subscription.remove();
}
render() {
return(
/*something*/
);
}
}
Значение идентификатора успешно отправляется из собственного компонента в собственный компонент React.
Проблема: console.warn()
внутри addlistener()
отображается после console.warn()
, который ниже объявления API_key
, и, следовательно, this.state.id
не обновляется.
Пожалуйста, любая помощь будет оценена.