如何将类的状态作为道具传递给另一个类?

时间:2018-03-24 14:05:41

标签: reactjs react-router

我想创建一个React App,它根据用户提供的过滤器获取数据。我有两个类,过滤器和新闻。在Filters中,我想将sourceName和countryCode设置为state;然后在新闻中根据这些参数获取。如何将状态值作为道具传递给新闻?

2 个答案:

答案 0 :(得分:2)

最好的方法是从两个元素的父元素中传递状态。

import React, { Component } from "react";

export default class Parent extends Component {
    constructor() {
        super();

        this.state = {
            sourceName: null,
            contryCode: null
        }
    }

    render() {
        return (
            <div>
                <Filters {...this.state} />
                <News {...this.state} />
            </div>
        )
    }
}

你应该始终将状态保存在渲染链中较高的元素中,然后是所有需要它的子元素。这样做可以让你将状态传递给所有需要它的孩子。然后,只有该组件是唯一需要它的组件才能在组件内维护时间状态。

答案 1 :(得分:0)

你可以简单地将状态作为道具传递给孩子。 比如<News filter={this.state.filer} />

相关问题