我想尝试做的就是导出一个函数,它可以创建一个mongodb查询并将其导入到反应组件中,这样我就可以在那里调用它并显示数据。
这是我不断得到的错误:./ node_modules/require_optional/node_modules/resolve-from/index.js 找不到模块:无法解析'/ Users / paul / Desktop / TempProject / Dietx / dietxweb / node_modules / require_optional / node_modules / resolve-from'
中的'module'反应成分,Diet.js:
import React, {Component} from 'react';
import getItemList from '../server/api.js';
import ReactList from 'react-list';
class Diet extends Component {
constructor(props){
super(props)
this.state ={
Calories : 3000,
Items: [],
}
}
componentWillMount(){
}
render(){
return(
<div className="diet-container">
<p>lol</p>
</div>
)
}
}
export default Diet;
API,api.js:
const mongo = require('mongodb');
export const getItemList = ()=>{
var url = "mongodb://localhost:27017/food"
return(
mongo.connect(url)
.then((db)=>{
return db.collection('foodInfo')
})
.then((res)=>{
return res.find().toArray()
})
)
}
答案 0 :(得分:1)
更改
export const getItemList = ()=>{
到
export default function getItemList() {
您正在使用的语法是从模块导入默认成员,但您的模块未定义默认成员。
或者,您可以使用语法
import {getItemList} from ...