У меня есть проблема с реагировать на нативный язык, которую я не могу понять, возможно, у меня неправильный подход.
Итак, у меня есть этот компонент, в основном это меню, и когда я щелкаю элемент, я вызываю handleClick.
class Header extends Component {
//constructor and ecc....
handleClick = (flow) => {
navigate('Category', {catId: flow})
}
render() {
return (
<View>
{this.state.menu.map(menuSingle => (
<View>
<TouchableOpacity onPress={() => this.handleClick(menuSingle.object_id)} >
<Text>{menuSingle.title }</Text>
</TouchableOpacity>
</View>
))}
</View>
);
}
}
export default Header;
Затем в категории. js Я получаю данные по идентификатору из меню, но если использовать форму меню home. js компонент работает, но то же самое меню, когда я использую его в категории. js не обновляет состояние.
class Category extends Component{
//constructor ecc...
componentDidMount(){
return fetch("url="+parseInt(this.state.catId))
.then((response) => response.json())
.then((posts) => {
this.setState({
posts: posts,
loading: false
}, function(){
});
})
.catch((error) =>{
console.error(error);
});
}
render() {
if(this.state.loading) {
return (
<Text> Loading...</Text>
)
}
return (
<SafeAreaView >
<Header/>
<ScrollView>
{this.state.posts.map(post => (
<View>
<Text> {post.title} </Text>
</View>
))}
</ScrollView>
</SafeAreaView>
);
}
}
export default Category;
Любой совет, как вызвать тот же компонент или обновить состояние категории из компонента меню? Спасибо