访问其他组件变量/状态

时间:2015-08-20 09:59:47

标签: reactjs react-native

我想在TotalTab / ProfitTab / LossesTab中访问州数据或投资组合。我希望他们在异步fetchData也完成时更新数据(获取数据绑定?)。

我的代码如下

class Portfolio extends Component{

    constructor(props) {
        super(props);
        this.state = {
            isLoading: true,
            dataSource : ""
        };
    }

    componentDidMount() { //This function get called once when react finished loading. Something like jQueryDom Ready seems to be https://facebook.github.io/react-native/docs/tutorial.html
       this.fetchData();
    }

    fetchData() {
        fetch("http://beta.setmonitor.com/api/trading/summary?portfolio_id=3")
        .then((response) => response.json())
        .then((responseData) => {
            this.setState({
               dataSource: responseData,
               isLoading: false
            });
        })
        .done();
    }

    render() {
        return (
          <ScrollableTabView>
            <TotalTab tabLabel="Total" />
            <ProfitTab tabLabel="Profit" />
            <LossesTab tabLabel="Losses" />
          </ScrollableTabView>
        );
    }
};

我尝试创建另一个类来获取数据并存储并使用它new ClassName,但问题是异步数据不会在视图中获得更新。

1 个答案:

答案 0 :(得分:2)

利用道具。您可以将数据传递给Tab组件,React会自动将其保持同步。如果需要,您还可以在Portfolio组件中声明一个函数,并根据需要将其传递给子项。 React Docs - Data Flow