У меня проблема с обновлением родительского состояния для дочернего компонента.я новичок, чтобы реагировать на нативные, поэтому, если есть какая-то лучшая идея, пожалуйста, направьте меня.
, что я делаю, есть строка поиска в заголовке, и я нахожусь на моем компоненте канала.при вводе в строке поиска я получаю обновленный текст в компоненте ленты и работает нормально.
теперь на компоненте канала, когда я фокусируюсь на панели поиска, глобальный компонент поиска отображается условно на компоненте канала.
А теперь мне нужно передать этот текст глобальному компоненту.для этого я получаю текст из строки поиска заголовка, передавая его компоненту канала и затем обновляя состояние компонента канала и передавая это состояние дочернему компоненту глобального поиска.
весь код работает нормально, но что яПрямо сейчас сталкиваюсь с состоянием на 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>
);
}