我得到这个错误,而试图在屏幕之间导航与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;
2条答案
按热度按时间u3r8eeie1#
我发现了问题的原因,当你渲染第二个屏幕时,它正在执行返回主页的按钮的onPress方法,并且导航导致主屏幕中的render方法执行,这意味着你试图同时执行两个渲染,要解决这个问题,只需向导航主页函数添加一个箭头函数,如下所示:
yrdbyhpb2#
您忘记在导航前添加箭头功能。navigation('nameOFComponent ')