Передача обновленного состояния родительского компонента в дочерний компонент реагирует нативно, когда родительский компонент отключен условно - PullRequest
0 голосов
/ 30 января 2019

У меня проблема с обновлением родительского состояния для дочернего компонента.я новичок, чтобы реагировать на нативные, поэтому, если есть какая-то лучшая идея, пожалуйста, направьте меня.

, что я делаю, есть строка поиска в заголовке, и я нахожусь на моем компоненте канала.при вводе в строке поиска я получаю обновленный текст в компоненте ленты и работает нормально.

теперь на компоненте канала, когда я фокусируюсь на панели поиска, глобальный компонент поиска отображается условно на компоненте канала.

А теперь мне нужно передать этот текст глобальному компоненту.для этого я получаю текст из строки поиска заголовка, передавая его компоненту канала и затем обновляя состояние компонента канала и передавая это состояние дочернему компоненту глобального поиска.

весь код работает нормально, но что яПрямо сейчас сталкиваюсь с состоянием на 1 шаг позади.например, если я ввожу 'sha', он возвращает мне 'sh' вместо 'sha'.

, а во-вторых, я получаю предупреждение о "не могу выполнить обновление состояния реакции на не смонтированном компоненте", потому что каналкомпонент отключен, я так думаю.

, пожалуйста, помогите.

мой код в компоненте фида

, связывающий эту функцию из заголовка

Searchhandlecallback = (props) => {
    this.setState({
        FeedSearchText: props
    });
}

и затем в разделе просмотра я отображаю глобальный компонент поиска условно

render() {

    // If the search bar focus and on feed page then show the global component for recent / popular searches.

    if (this.state.searchFocused && this.CurrentRoute == 'feed') {
        const params = 'Feed';
        return (<GlobalSeach route={params} FeedSearchText={this.state.FeedSearchText} />)

    }

    // Else show the landing page of app

    return (

        <View style={styles.container}>
            <Text style={styles.welcome}>Feed!</Text>
            <Button title="Go to Detail Page" onPress={() => this.props.navigation.navigate('detail')} />
        </View>

    );
}
...