簡體   English   中英

“主屏幕”是只讀的

[英]"HomeScreen" is read-only

我收到此錯誤錯誤:“HomeScreen”是只讀的。

我正在通過 expo-start 編譯和執行這個 expo 應用程序,然后為 IOS 模擬器按“i”。 然后它給了我以下錯誤:

Error: "HomeScreen" is read-only.

This error is located at:
in App (created by withDevTools(App))
in withDevTools(App)
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in main(RootComponent)
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:95:17 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:141:19 in handleException
at node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:39 in handleError
at node_modules/expo/build/errors/ExpoErrorManager.js:25:19 in errorHandler
at node_modules/expo/build/errors/ExpoErrorManager.js:30:24 in \<anonymous\>
at node_modules/@react-native/polyfills/error-guard.js:49:36 in ErrorUtils.reportFatalError

我只是不明白,“只讀”是什么意思? 我對一切都有完全的許可。

我期待屏幕左上角出現“登錄屏幕”消息,尊重缺口和其他東西。

這是我的 app.js 代碼:

import { StatusBar } from "expo-status-bar";
import { StyleSheet, Text, View } from "react-native";
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import LoginScreen from "./screens/LoginScreen";
import HomeScreen from "./screens/HomeScreen";

const Stack = createNativeStackNavigator();

export default function App() {
  return (
    <NavigationContainer>
    <Stack.Navigator>
      <Stack.Screen name="Home" component={HomeScreen={}} />
      <Stack.Screen name="Login" component={LoginScreen={}} />
    </Stack.Navigator>
  </NavigationContainer>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#fff",
    alignItems: "center",
    justifyContent: "center",
  },
});

這是用於登錄屏幕的:

import { StyleSheet, Text, View } from 'react-native'
import React from 'react'

const LoginScreen = () => {
  return (
    <View>
      <Text>LoginScreen</Text>
    </View>
  )
}

export default LoginScreen

const styles = StyleSheet.create({})

這是針對主屏幕的:

import { StyleSheet, Text, View } from 'react-native'
import React from 'react'

const HomeScreen = () => {
  return (
    <View>
      <Text>HomeScreen</Text>
    </View>
  )
}

export default HomeScreen

const styles = StyleSheet.create({})

HomeScreen是一個只讀常量,只能賦值一次。

在您的Stack.Screen ,您將 component 道具設置為您的自定義組件,但分配了一些值HomeScreen={} ,與 LoginScreen 相同

<Stack.Navigator>
  <Stack.Screen name="Home" component={HomeScreen={}} />
  <Stack.Screen name="Login" component={LoginScreen={}} />
</Stack.Navigator>

而是使用

<Stack.Navigator>
  <Stack.Screen name="Home" component={HomeScreen} />
  <Stack.Screen name="Login" component={LoginScreen} />
</Stack.Navigator>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM