React Native 呈现其他组件(“Home_Profile”)时无法更新组件(“ForwardRef(BaseNavigationContainer)”)

4smxwvx5  于 2023-02-09  发布在  React
关注(0)|答案(2)|浏览(412)

我得到这个错误,而试图在屏幕之间导航与React Native堆栈导航器.我认为这是在我以前的项目,其中有React17.0.1和React Native0.64.2工作,这个项目是React17.0.2和React Native0.66.4,帮助将不胜感激.

    • 日志**
Warning: Cannot update a component (`ForwardRef(BaseNavigationContainer)`) while rendering a different component (`Home_Profile`). To locate the bad setState() call inside `Home_Profile`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render

尝试在平面列表渲染项组件上的onPress属性中调用导航时出现错误。
x一个一个一个一个x一个一个二个x

    • 主页_配置文件**
import React from "react";
import { View, Text, Button } from "react-native";

const Home_Profile = ({ navigation }) => {
  return (
    <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
      <Text>Home_Profile.js</Text>
      <Button title="back" onPress={navigation.navigate("Home")} />
    </View>
  );
};

export default Home_Profile;
u3r8eeie

u3r8eeie1#

我发现了问题的原因,当你渲染第二个屏幕时,它正在执行返回主页的按钮的onPress方法,并且导航导致主屏幕中的render方法执行,这意味着你试图同时执行两个渲染,要解决这个问题,只需向导航主页函数添加一个箭头函数,如下所示:

onPress={()=>{navigation.navigate("Home")}}
yrdbyhpb

yrdbyhpb2#

您忘记在导航前添加箭头功能。navigation('nameOFComponent ')

相关问题