如何在其他组件上发送this.state并在父级中进行渲染

时间:2019-05-29 17:45:07

标签: reactjs

我正在使用一个组件中的一个api来使用另一个名为datagrid的组件来呈现结果,如果我从一个名为datagrid的组件中使用了api,那么一切正常,但是这个想法是只使用一次该api,问题不是api,问题在于数据网格组件没有收到this.state的新值。

class Color extends Component {

    state = {
        fields: {
            colorCodigo: null,
            colorNombre: '',
        }
    };

    componentDidMount() {

        //CONSUMO API.
        const params = this.props.match.params;

        if (!params.id) {
            return;
        }

        getDocument({
            documentId: params.id,
            fieldName: 'colorCodigo',
            moduleName: params.module
        }).then(document => {
            if (!document) {
                return;
            }
            this.setState({ fields: document });
        });

    }


    render() {


        return (


            <Paper elevation={5} className={this.props.classes.mainPaper}>
                <Datagrid datos={this.state.fields} />
            </Paper >


        );


    }


}


export default withStyles(styles)(Color);




class Datagrid extends Component {


    componentDidMount = () => {


        console.log("aqui entra en el render de Color y no muestra nada y 
      esta bien pero en el re - render de color cuando se actualiza el 
      estado no llega aqui para trabajar con la data que llega de la 
       api");



    console.log(this.props.datos);


    }

    render() {


        const { classes } = this.props;


        return (


            <Paper className={classes.root}>
                <Table className={classes.table}>
                    ......
        </Table>
            </Paper>


        );
    }
}
export default withStyles(styles)(Datagrid);

0 个答案:

没有答案