重新获取&在React Native中重新渲染组件

时间:2018-04-30 15:46:21

标签: reactjs react-native fetch

我有一个反应原生的移动项目,我使用fetch API从服务器获取数据。所以我的问题是当我浏览我的应用程序中的其他组件时,我更新了一些值(通过服务器中的提取)并获取新的组件,但是当我回到家庭场景时,我看到旧的获取数据,我每次都可以更新它回到家乡的场景?

这是我的家庭场景:

export default class Inside extends Component {

    componentWillMount (){
            alert(this.props.userid + this.state.userid);
            fetch('http://xxx/fetch_info', {
                method: 'POST',
                headers: {
                    'Accept': 'application/json',
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify({
                    check: this.props.userid
                }),
            }).then((response) => response.json())
                .then((responseJson) => {
                    alert(responseJson.money + " " + responseJson.mesage);
                    this.setState({
                        example: ex
                    });

                }).catch((error) => {
                alert(error);
            });
        }

constructor(props) {
        super(props);
        this.state = {
            ....
            check: this.props.exp
        };
    }

render(){
 <Text> {this.state.stuff} </Text>
 }
}

我的场景:

<Scene key="main">
    <Scene key="home" component={Home}  initial/>
    <Scene  key ="money" component={Money} />
</Scene>

所以每次我回去都希望自动获取数据,但我不知道该怎么做..?

1 个答案:

答案 0 :(得分:0)

如果您在项目中使用“返回导航”时返回“导航”,而不是使用 this.props.navigation.navigate('yourScreen'); 您可以使用this.props.navigation.replace('yourScreen'); 这将导致您的页面重新加载。这不是一个好习惯,因为您松开了所有以前的导航(以前导航过的屏幕),但是暂时的修复了。