Javascript 反应状态不更新?不会渲染卡片吗?后端很好!有人能弄明白吗?
我遇到的问题是,如果有任何内容处于“内容”状态,我会尝试将这些卡片从Reddit发布到我的应用程序中 出于某种原因,后端是完全正常的,我让它在一个页面上下文中工作,但我无法进行渲染,当我点击搜索按钮时,即使我可以在任何地方记录内容数组,我也无法生成卡片,它说类型错误未定义。我怎样才能解决这个问题 我的API响应只是一个由25个大型JSON对象组成的数组。我正在使用snoowrap/axios。Mongo也会被扔到这里,但目前还没有使用。我能够在客户端操纵响应,但它似乎没有更新“内容”的状态。我可以在控制台中注销它,就好像它已经注销了一样,但它似乎正在尝试在拥有新状态或其他东西之前创建卡 条件渲染也可以工作!它可以告诉你this.state.content数组@this.state.content.length中没有任何内容,但是当它们到达那里时,出于某种原因,它们都是空的 我完全被难住了:/ 第二次编辑: 这是我的API请求Javascript 反应状态不更新?不会渲染卡片吗?后端很好!有人能弄明白吗?,javascript,reactjs,state,Javascript,Reactjs,State,我遇到的问题是,如果有任何内容处于“内容”状态,我会尝试将这些卡片从Reddit发布到我的应用程序中 出于某种原因,后端是完全正常的,我让它在一个页面上下文中工作,但我无法进行渲染,当我点击搜索按钮时,即使我可以在任何地方记录内容数组,我也无法生成卡片,它说类型错误未定义。我怎样才能解决这个问题 我的API响应只是一个由25个大型JSON对象组成的数组。我正在使用snoowrap/axios。Mongo也会被扔到这里,但目前还没有使用。我能够在客户端操纵响应,但它似乎没有更新“内容”的状态。我
import axios from 'axios';
export default {
snooScrape: function (searchQuery) {
return axios.get("/api/snoo/" + searchQuery).then(res => {
let response = res.data
return response
})
}
}
答复如下:
在前端:
我甚至可以成功地将这个.setState({content:subData})记录下来。这似乎是某种异步问题:/我认为错误来自卡组件。请记录API响应并将其放在此处。乍一看,您的页面似乎不应该抛出错误,因为您使用空数组初始化了
this.state.content
但是错误表明您的
this.state.content
的子项未定义。当您使用API回调更新状态时,出现了一些问题。请随API回复一起提供问题。您需要对这个问题进行一些改进。一下子就太多了。你的搜索函数绑定到类了吗?不,我不相信我显式地绑定了它们。我只是在学习如何反应。我在上面的帖子中添加了更多信息!我把更多的信息发到了帖子上!卡片组件的代码以及我是如何导出的
import React from 'react'
import './Card.css'
export const Card = props => {
return (
<div className='post-card' id={this.props.isSaved}>
<p className='post-title'>{props.title}</p>
<p className='post-author'>{props.author}</p>
{props.children}
</div>
)
}
export {default} from "./Card.js"
import axios from 'axios';
export default {
snooScrape: function (searchQuery) {
return axios.get("/api/snoo/" + searchQuery).then(res => {
let response = res.data
return response
})
}
}