所以我正在创建一个应用程序,我必须创建一个nodeJS服务器,我必须在客户端显示API调用(reactJS)。但是,当我调用fetch()方法时,客户端没有显示任何内容,只能在终端的服务器端显示。我可能不知道如何正确地做到这一点,所以我只是想知道你们中是否有人知道我做错了什么,我只是想学习,就是这样。这是我服务器端的一小部分:
const express = require('express');
const router = express.Router();
var key = "v2xcfdfa76db9f173028d97859c47a8ce0554321029a3fbfc06a26f81b1655bd3d9";
var BitGo = require('bitgo');
var client = new BitGo.BitGo({ env: 'test', accessToken: key });
router.get('/user/me', (req, res, next) => {
client.me({}, function callback(err, user) {
if (err) {
console.dir(err);
}
console.dir(user);
});
});
module.exports = router;
这是客户方:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
data: ""
}
}
componentDidMount() {
return fetch('/user/me')
.then((response)=> response.json())
.then((responseJson)=>{
this.setState({
data: responseJson.data
});
})
}
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
Data from our API: <b>{this.state.data}</b>
</p>
</div>
);
}
}
export default App;
答案 0 :(得分:1)
你实际上并没有从服务器返回任何东西...或者看起来你提供给我们的代码有限。
router.get('/user/me', (req, res, next) => {
client.me({}, function callback(err, user) {
if (err) {
console.dir(err);
res.status(400).send(err)
}
console.dir(user);
res.send({ data: user })
});
});
我假设user
是JSON可序列化的(并且它是您希望从服务器返回的数据)。