使用 superagent 调用 API?
Call an API using superagent?
我有一个 API 包含此数据分支
{
"data": {
"id": ,
"title": ,
"description": ,
"old_price": "100",
"new_price": "50",
"size": "50",
"quantity": 20,
},
"errors": null,
"code": 1
}
我正在使用 superagent 来调用 API 并呈现此信息,但我以错误的方式进行。
这是我的代码
import React from 'react';
import {render} from 'react-dom';
import superagent from 'superagent';
import Layout from './components/Layout';
class App extends React.Component{
constructor(){
super()
this.state={
name:''
}
}
componentDidMount(){
console.log('componentDidMount');
const url='http://...';
superagent
.get(url)
.query(null)
.set('Accept', 'application/json')
.end ((error, response)=>{
const title=response.body.response
console.log(JSON.stringify(title));
this.setState({
name:title
})
})
}
render(){
return(
<Layout data={this.state}/>
)
}
}
render(<App />, document.getElementById('app'));
这里我渲染一下
import React from 'react';
export default class Layout extends React.Component{
render(){
let data = this.props.data;
return (
<div>
{data.name}
</div>
)
}
}
但不是渲染,我想我做错了。请你能帮我一下吗?
对我来说,这样的东西很管用:
import request from 'superagent';
getFooFromServer() {
const url='http://...';
request.get(`${url}/foo`)
.accept('json')
.then(res => {
//Do something with your data
}
catch(error => {
//Do something with the error
};
}
const title=response.body.response
应该是
const title=response.body
很有可能
我有一个 API 包含此数据分支
{
"data": {
"id": ,
"title": ,
"description": ,
"old_price": "100",
"new_price": "50",
"size": "50",
"quantity": 20,
},
"errors": null,
"code": 1
}
我正在使用 superagent 来调用 API 并呈现此信息,但我以错误的方式进行。
这是我的代码
import React from 'react';
import {render} from 'react-dom';
import superagent from 'superagent';
import Layout from './components/Layout';
class App extends React.Component{
constructor(){
super()
this.state={
name:''
}
}
componentDidMount(){
console.log('componentDidMount');
const url='http://...';
superagent
.get(url)
.query(null)
.set('Accept', 'application/json')
.end ((error, response)=>{
const title=response.body.response
console.log(JSON.stringify(title));
this.setState({
name:title
})
})
}
render(){
return(
<Layout data={this.state}/>
)
}
}
render(<App />, document.getElementById('app'));
这里我渲染一下
import React from 'react';
export default class Layout extends React.Component{
render(){
let data = this.props.data;
return (
<div>
{data.name}
</div>
)
}
}
但不是渲染,我想我做错了。请你能帮我一下吗?
对我来说,这样的东西很管用:
import request from 'superagent';
getFooFromServer() {
const url='http://...';
request.get(`${url}/foo`)
.accept('json')
.then(res => {
//Do something with your data
}
catch(error => {
//Do something with the error
};
}
const title=response.body.response
应该是
const title=response.body
很有可能