네이티브 응답 오류: 요소 유형이 잘못되었습니다. 문자열 또는 클래스/함수가 필요한데: 개체를 받았습니다.
이 에러가 발생하고 있어, 수정에 많은 어려움을 겪고 있습니다.
여기서 하려고 하는 것은, 3개의 다른 화면과 각각의 화면으로 이동하는 탭바가 있는 것입니다.
내 인덱스는 다음과 같습니다.
import React, { Component } from 'react';
import { AppRegistry, Navigator, StyleSheet, View, Text } from 'react-native';
import Nav from './app/components/Nav';
import Screen from './app/Screen';
import Tabs from 'react-native-tabs'
import SwitchView from './SwitchView';
class Proj extends Component {
constructor(props){
super(props);
}
render(){
var x = "FeedView";
return(
<View style={styles.container}>
<Tabs selected={x} style={{backgroundColor:'white'}}
selectedStyle={{color:'red'}} onSelect={el=> {x = el.props.name}}>
<Text name="FeedView">First</Text>
<Text name="WikiView" selectedIconStyle={{borderTopWidth:2,borderTopColor:'red'}}>Second</Text>
<Text name="BoardView">Third</Text>
</Tabs>
<SwitchView id={x}/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
})
AppRegistry.registerComponent('Proj', () => Proj);
SwitchView는 다음과 같습니다.
import Feed from './app/pages/Feed/Feed';
import Board from './app/pages/Board';
import Wiki from './app/pages/Wiki';
class SwitchView extends Component {
render(){
var { id } = this.props;
switch (id) {
case "FeedView":
return <Feed/>
case "WikiView":
return <Wiki/>
case "BoardView":
return <Board/>
}
}
}
이 문제는 프로그램의 일부 JS 모듈 내보내기/가져오기 문제로 인해 발생할 수 있습니다.일반적으로 다음 두 가지 이유 중 하나입니다.
- 내보내는 것을 잊었거나 잘못 내보냈습니다.
- 존재하지 않는 것을 가져오거나 잘못 가져왔습니다.
오류가 저 .export
, 에 야기되는 but but but but but but butimport
, , , , , , , , , , 을 했습니다.import
모듈에 존재하지 않는 것을 Import하려면 스테이트먼트가 올바르지 않습니다.
경우에는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★.import
.
import { MyComponent } from './MyComponents/MyComponent'
실제로는 다음과 같습니다.
import MyComponent from './MyComponents/MyComponent'
그리고 그것은 나를 미치게 했고 그것을 알아내는 데 하루 종일 걸렸고, 나는 이것이 몇몇 사람들에게 몇 시간을 절약해주기를 바란다.
SwitchView 정의를 다음과 같이 변경합니다.
export default class SwitchView extends Component...
SwitchView를 다음과 같이 변경합니다.
import Feed from './app/pages/Feed/Feed';
import Board from './app/pages/Board';
import Wiki from './app/pages/Wiki';
export default class SwitchView extends Component {
render(){
var { id } = this.props;
switch (id) {
case "FeedView":
return <Feed/>
case "WikiView":
return <Wiki/>
case "BoardView":
return <Board/>
}
}
}
설치된 패키지에 대해서만 이 문제에 직면했습니다.이전에 썼던 이름
import WebView from 'react-native-webview-messaging/WebView';
로 바꿨습니다.
import { WebView } from 'react-native-webview-messaging/WebView';
이 문제에 직면했습니다.
import {ErrorMessage} from '../Components/ErrorMessage';
다음과 같이 쓰는 대신:
import ErrorMessage from '../Components/ErrorMessage';
.0.46.4
걸 먹었는데import MainContainer from './app'
서, 「」는app
.index.js
는 Android와 Native는 Android iOS를 .index.js
에 inside inside inside app
import MainContainer from './app/index.js'
효과가 있었어요
이 오류는 Defualt를 사용하여 해결할 수 있습니다.
내보내기 대신 내보내기 기본값 사용
제 경우, 문제는 'AppLoading'의 잘못된 npm 설치였습니다."컴포넌트 예외:반응 탐색 사용 중 요소 유형이 잘못되었습니다."이 오류 아래에 'App'의 렌더링 방법을 확인하기 위한 조언문이 있습니다.'AppLoading'을 제대로 설치하지 못했습니다.다음에, 다음과 같이 인스톨 합니다.
expo install expo-app-loading
다음으로 앱 로드 Import를 로 변경했습니다.
import AppLoading from "expo-app-loading";
[메모: 반드시 다음 정보를 확인합니다]<AppLoading />
prop onError prop]를 포함해야 합니다.이러한 간단한 변경으로 제 앱은 예상대로 작동하기 시작했습니다.
내 경우 반응 탐색 및 반응 탐색/추첨기의 버전을 확인하여 오류를 해결합니다.
@react-navigation version 5와 @react-navigation/drawer version 6을 사용하고 있었는데 이것이 문제의 원인이었습니다.
버전 6을 삭제하고 @react-navigation/drawer 버전5를 설치했더니 문제가 해결되었습니다.
모든 내비게이션/스택 및 드로어를 최신 버전으로 업데이트해야 하는 것과 같은 문제에 직면해 있었습니다.
나는 이 문제에 직면했다.
import Something from '@library';
로 변경했습니다.
import { Something } from '@library';
반시
고객님의 에러에 따라 컴포넌트가 무효라고 하는 것과 같은 문제를 처리했습니다.SwitchView에서는 이 컴포넌트를 오브젝트 체크 아웃으로 반송합니다.
이 힌트가 도움이 되었기를 바랍니다.스택오버플로우는 처음이라 answer 탭에 익숙하지 않습니다.감사합니다:)
module.view = SwitchView와 어떻게 다릅니까?
module.exports는 1개를 제외한 모든 js 파일에 대해 작동합니다.
이 문제는 프로그램의 일부 JS 모듈 내보내기/가져오기 문제로 인해 발생할 수 있습니다.일반적으로 다음 두 가지 이유 중 하나입니다.
- 내보내는 것을 잊었거나 잘못 내보냈습니다.
- 존재하지 않는 것을 가져오거나 잘못 가져왔습니다.
비슷한 오류가 있었습니다만, 제 경우는 수출 때문이 아니라 수입에 의한 것입니다.모듈에 없는 것을 Import하기 위해 Import 명세서를 잘못 사용했습니다.
이 오류는 내보내지 않은 구성 요소에 액세스하려고 할 때 발생합니다.제 경우 컴포넌트를 내보내는 것을 잊어버려서 접속하고 있었습니다.
내 경우엔 내가 교체했다.
const App: () => React$Node = () => {
app.에서 다음 행으로 이동합니다.
const App = () => {
나한테도 먹혔어쨌든
Inn My Case에서 raffce 명령어를 구현했는데 App.js를 내보내는 것을 잊어버렸습니다.
const App = () => {
return (
<NavigationContainer theme={theme}>
<Stack.Navigator screenOptions={{ headerShown : false}} initialRouteName="Home">
<Stack.Screen name='Home' component={Home}/>
<Stack.Screen name='Details' component={Details}/>
</Stack.Navigator>
</NavigationContainer>
);
}
그 후 Export를 추가하지 않은 것을 깨달았습니다.그리고 내 코드를 이렇게 바꿨더니 작동했어
const App = () => {
return (
<NavigationContainer theme={theme}>
<Stack.Navigator screenOptions={{ headerShown : false}} initialRouteName="Home">
<Stack.Screen name='Home' component={Home}/>
<Stack.Screen name='Details' component={Details}/>
</Stack.Navigator>
</NavigationContainer>
);
}
export default App;
언급URL : https://stackoverflow.com/questions/37620473/react-native-error-element-type-is-invalid-expected-a-string-or-a-class-functi
'programing' 카테고리의 다른 글
WordPress에서 wp_get_nav_menu_items를 사용하여 커스텀 메뉴/서브메뉴 시스템을 생성하는 방법은 무엇입니까? (0) | 2023.03.14 |
---|---|
스프링 부트 기본 로그 위치 (0) | 2023.03.14 |
org.springframework.boot.web.support가 존재하지 않습니다. (0) | 2023.03.14 |
폐지 통지:React DOM.render는 React 18에서 지원되지 않습니다. (0) | 2023.03.14 |
$postLink 각진 컴포넌트/방향성이 너무 빨리 실행됨 (0) | 2023.03.14 |