反应-TypeError:jokes.map不是一个函数

Bullybear17

我对React还是比较陌生,我正在尝试构建一个查询Chuck Norris API并返回一个随机笑话的简单应用。在浏览器中运行代码时,出现以下错误消息:

TypeError: jokes.map is not a function

我的理论是'map'期望一个数组-我的json数据对象不是-但是我不是肯定的,即使在这种情况下也不确定如何/如何调整我的代码。

这是我的代码:

这是App.js:

import React, {Component} from 'react';
import Norris from './components/norris';


class App extends Component {
 render() {
    return (
        <Norris jokes={this.state.jokes} />
    )
 }

 state = {
    jokes: []
 };

 componentDidMount() {
    fetch('https://api.chucknorris.io/jokes/random')
        .then(res => res.json())
        .then((data) => {
            this.setState({ jokes: data})
        })
        .catch(console.log)
}

}

export default App;

这是norris.js:

import React from 'react'

const Norris = ({jokes}) => {
 return (
    <div>
        <center><h1>Norris Jokes</h1></center>
        {jokes.map((joke) => (
            <div class="card">
                <div class="card-body">
                    <h5 class="card-title">{joke.value}</h5>
                </div>
            </div>
        ))}
    </div>
 )
};

export default Norris
第一次蛛网

https://api.chucknorris.io/jokes/random的响应不是数组

如果您希望将笑话作为数组,则可以像下面这样更改代码:

componentDidMount() {
    fetch('https://api.chucknorris.io/jokes/random')
        .then(res => res.json())
        .then((data) => {
            this.setState({ jokes: [data]})
        })
        .catch(console.log)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TypeError:undefined不是一个对象(评估“ navigation.state”)-反应本机

TypeError:(0,_reactNavigation.default)不是一个函数。反应本机

TypeError:this.props.data.map不是一个函数,但是data是一个列表

反应TypeError this._test不是函数

反应未捕获的TypeError:this.setState不是一个函数

角2反应形式错误-TypeError:this.form.get不是一个函数

反应未捕获的TypeError:this.state.messages.map不是函数

反应测试-TypeError:localStorage.getItem不是一个函数

反应-TypeError:this.props.courses.map不是函数

反应-TypeError:_this.setState不是一个函数

反应:.map不是一个函数

反应:this.props.posts.map不是一个函数

TypeError:this.props.propName.map不是一个函数反应js

反应TypeError:this.state.descriptions.map不是函数

反应TypeError:lists.map不是一个函数

反应TypeError:skill.map不是函数

反应TypeError:x不是函数

反应| TypeError:this.state.cars.map不是函数

反应:TypeError:调度不是函数

反应TypeError:this.state.List.map不是一个函数

反应本机-TypeError:未定义不是一个对象(评估'navigation.toggleDrawer')

反应Redux错误TypeError:sourceSelector不是函数

TypeError:react__WEBPACK_IMPORTED_MODULE_0 ___ default.a.createContext不是一个函数(反应前端,节点后端)

反应错误:TypeError:render不是函数

反应typerror,不是一个函数

data.map 不是一个函数反应

反应:TypeError:items.map 不是函数

反应 this.state.addroom.map 不是一个函数

反应函数:TypeError:Object(...) 不是函数