reactjs - 如何在其他组件发送 this.state 并在父组件中渲染
问题描述
我正在使用一个组件中的 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);
解决方案
推荐阅读
- windows - 如何读取 GetDeviceCaps() 返回值?
- c# - OpenXML 在文档顶部或表格之前插入烦人的回车
- ruby-on-rails - Rails - 从另一个模型中的模型创建实例
- r - 检查是否在 R 中安装包没有错误
- android - Exception Inflating on Navigation View using RecyclerView, Fragment, and Activity with Kotlin
- r - R - ggplot2:在图例中插入副标题
- jquery - Material Design - 单击表格行复选框时创建操作
- python - 如何将某些内容附加到excel文件的新行?
- javascript - WebStorm 在 jQuery 项目中将所有 $-operators 突出显示为“未知”
- java - 如何在 ProcessBuilder 中运行长命令