【发布时间】:2018-08-17 03:49:01
【问题描述】:
所以我正在制作一个应用程序,我必须在其中创建一个 nodeJS 服务器,并且我必须在客户端 (reactJS) 上显示 API 调用。但是,当我调用 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;
【问题讨论】:
-
您遇到错误了吗?如果您遇到错误,请分享。
-
当你这样做时会发生什么:
.then((response)=> {console.log(response) return response.json())}response中显示了什么?请对responseJson做同样的事情 -
@DrunkDevKek 嘿,我试着做你发布的完全相同的事情,但我在浏览器中看不到 console.log 的输出......
-
@DrunkDevKek 'response' 未定义为 no-undef。如果我在 componentDidMount 方法的末尾打印它,这就是我得到的。