我目前正在尝试在我的render方法中使用从api接收到的一些数据。 我正在我的componentDidMount中调用该函数。 这是函数:

 getDataFromDb = () => {
        axios.get(this.props.urlFromParent + "GetCurrentPods/Device1")
            .then( (res) => {
                this.setState({
                    Pods : res.data
                })
                console.log(this.state.Pods)
            })
 };

我在这样的渲染方法中调用它

{console.log('hello'+ this.state.Pods)}

这是console.log输出:

hello[object Object]
Array [
Object {
    "ParentDeviceID": "Device1",
    "ParentDeviceIsActive": true,
    "PodIsActive": true,
    "PodLocation": 5,
    "PodType": 2,
    "__v": 0,
    "_id": "5d6bfe9c50a6c33006cbd6ac",
},
]

我无法弄清楚状态为何在render方法中返回对象Object。 我也收到错误消息: 警告:在现有状态转换期间(例如在render内)无法更新。 渲染方法应该是props的纯函数,并声明我不确定这是否与我的问题有关。 谢谢你的帮助。

#1楼 票数:0 已采纳

console.log('hello'+ this.state.Pods)

当您将字符串“ hello”与对象“ this.state.Pods”连接在一起时,上一行会将对象转换为字符串。 您应该使用或两个控制台语句来分别记录hello和this.state.Pods。

  ask by Say u translate from so

未解决问题?本站智能推荐:

1回复

如何在渲染后切换子组件取决于状态?

有三个屏幕thar Index.tsx,Profile.tsx,Login.tsx。 我尝试登录以设置AsyncStorage然后返回Profile使用this.state.member从AsyncStorage获取以切换Profile中的组件。 但现在我只能回到索引然后以这种方式配置文件我
2回复

状态更改不会导致功能组件中的重新渲染

在 React Native 0.63.2 应用中,有一个函数组件DisplayImages来呈现上传的图像。 当图像顺序在状态Imgs中更改时, DisplayImages预计会重新呈现。 这是代码: 这里是显示图像的顺序console.output Imgs已经改变: 随着状态Imgs的
1回复

如何通过另一个组件中的动作将类名切换到组件?

我刚开始一天的反应,所以如果这是一个愚蠢的问题,我深表歉意, 我试图在按下按钮时将css样式的类名切换为div,该按钮是页面中的单独组件,我不确定如何才能将两者连接起来。 : 但是我意识到它没有在页面的第一次加载上运行。 所有帮助将不胜感激! 我已经取出了按钮组件,现在有了
1回复

如何使用状态将类组件重写为函数组件

我目前正在使用 React Native 开发一个应用程序。 我有一个使用 state 的类组件,并希望将其重写为一个函数组件,以便处理与前一个类组件相同的内容。 但是我不能重写它......当然,原始代码(类组件)运行良好 此试用版应用程序有一个组件,该组件具有一个 TextInput 和两个
2回复

无状态的React本机切换组件

我只是想切换SearchButton和SearchIcon,我使用下面的代码 所以基本上它最初非常快,但是当我的场景中包含很多平面列表中的项目时,切换之间会有1到2秒的延迟。我猜它是由于重新渲染页面中的所有项目。 那么如何在不使用状态的情况下重新渲染整个页面的情况下,如何以更简单有
1回复

有状态和功能性无状态组件

如何将无状态功能组件转换为有状态组件,以便使用生命周期方法并将道具传递给无状态组件。 我需要将其转换为有状态的组件,以便使用生命周期方法并将道具传递给返回函数,如此处如何传递道具。 先感谢您。
2回复

设置状态后渲染组件不更新

我有一个像这样的组件: 当我单击ListItem时,将类型添加到event.genres数组中,并且希望显示图标。 但是,即使状态正确的事件对象被正确更新(我将其记录在控制台中),该图标仍不会显示。 我注意到的奇怪行为是,如果我返回导航并回到该组件,则图标会正确显示。
1回复

状态 ValueChange 无法重新渲染组件

我编写了以下代码来更新从全局状态传递到组件的数组,但即使在控制台日志中实现了更新的值,我也无法重新渲染屏幕以显示更新的值。 这些值要么被更新,要么被删除,当你点击删除按钮时,你应该删除数组中的倒数第二个元素。