Реактивный нативный компонент не обновляется - PullRequest
0 голосов
/ 04 февраля 2020

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

Итак, у меня есть этот компонент, в основном это меню, и когда я щелкаю элемент, я вызываю 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;

Любой совет, как вызвать тот же компонент или обновить состояние категории из компонента меню? Спасибо

...