открываете приложение
По ссылке открываю. Consol.log нормально отрабатывает и отдает мне диплинку. А вот вытащить ее я не могу. this.Setstate не хочет отрабатывать.
покажите весь компонент, по этому куску кода проблем нету
А консоль лог срабатывает ?
В конструкторе класса начальное состояние указал. constructor(props) { super(props); this.getUser(); this.state = { deeplinkUrl: '', } } Linking.getInitialURL() then(url => { console.log('Initial Url: ', url); ///Тут консоль лог отдает диплинку this.setState({ deeplinkUrl: url, }); console.log("deeplinkUrl: " + this.state.deeplinkUrl); /// Тут консоль лог не отдает диплинку. Получаю начальное состояние });
а сама функция с получением диплинки откуда вызывается?
Вот как все есть componentDidMount() { this.getAdvertisingId(); ///Getting Deeplink Linking.getInitialURL() .then(url => { console.log('Initial Url: ', url); this.setState({ deeplinkUrl: url, }); console.log("deeplinkUrl: " + this.state.deeplinkUrl); }); } Функция отрабатывает, так как я получаю диплинку и могу ее использовать внутри функции. А вот setState ни в какую не хочет обновлять состояние
constructor(props) { super(props); this.getUser(); this.state = { deeplinkUrl: '', } this.getInitialURL = this.getInitialURL.bind(this); } getInitialURL(url){ console.log('Initial Url: ', url); ///Тут консоль лог отдает диплинку this.setState({ deeplinkUrl: url, }); } Linking.getInitialURL() then(getInitialURL);
Обсуждают сегодня