我正在尝试从另一个组件调用一个组件。但是,我收到了这两个错误:
页面上的 2 个错误中的 1 个
:类型无效——需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象。您可能忘记从它定义的文件中导出您的组件。在 displayRevenue.js 检查您的代码页面上的 2 个错误中的 2 个
元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象。您可能忘记从它定义的文件中导出您的组件。检查的渲染方法DisplayRevenue
Parent Component即DisplayRevenue如下:
import React, { Component } from 'react';
import '../App.css';
import ListData from './listdata.js'
var axios = require('axios');
class DisplayRevenue extends Component {
constructor(props){
super(props);
this.state = { data:[] }
}
componentWillMount() {
this.loadRevenue(this.props.url, this.props.token);
}
setData(data){
this.setState(data:data);
console.log(this.state.data); //this gives output as json object
}
loadRevenue(url,token){
axios({
method:'get',
url:url,
headers: {
Authorization: `Bearer ${token}`,
},
})
.then( (response) => {
// console.log(response.data);
this.setData(response.data);
})
.catch(function (error) {
console.log("Error in loading Revenue "+error);
});
}
render() {
var ListData = this.state.data.map( (invoice) => {return <div>{invoice.customerNumber}</div>})
return (
<ListData />
);
}
};
export default DisplayRevenue;
Child Component即ListData如下:
import React, { Component } from 'react';
import '../App.css';
class ListData extends Component {
render() {
return (
<div>
{"HI"}
</div>
);
}
//{this.props.data.map( (invoice) => <div>{invoice.customerNumber}</div>)}
}
export default ListData;
- 这两个组件都在同一个文件夹中,即“组件”
- 是什么导致了这个错误?
注意:我知道之前有人问过有关此问题的问题,但没有一个能解决我的错误。