React Native Project IOS)のコンポーネントフォルダーにアクセスできません。
次のエラーが発生します:
モジュール./Login from ....../ReactNative/ReactNativeProject/components/App.jsを解決できません:このモジュールがモジュールマップまたは......./ReactNativeの下のnode_modulesディレクトリのいずれにも見つかりません/ReactNativeProject/components/Login.jとその親ディレクトリ。
私は次のリンクを参照しました: http://caroaguilar.com/post/react-native-navigation-tutorial/
index.ios.js(ReactNativeProject/index.ios.js)
"use strict";
import React, { AppRegistry } from 'react-native';
import App from './components/App';
AppRegistry.registerComponent('ReactNativeProject', () => App);
App.js(ReactNativeProject/components/App.js)
'use strict'
import React, {Component} from 'react';
import {
AppRegistry,
StyleSheet,
NavigatorIOS,
} from 'react-native';
var Login = require('./Login');
class App extends Component {
render() {
return (
<NavigatorIOS
style={styles.navigationContainer}
initialRoute={{
title: "Login Page",
component: Login,
}} />
);
}
}
var styles = StyleSheet.create({
navigationContainer: {
flex: 1
}
});
export default App;
Login.js(ReactNativeProject/components/Login.js)
"use strict";
import React, {Component} from 'react';
import {
StyleSheet,
Text,
TextInput
} from 'react-native';
import Button from 'react-native-button';
import styles from './login';
class Login extends Component {
constructor(props) {
super(props);
this.state = {
username: "",
password: "",
};
}
render() {
return (
<View style={styles.container}>
<View style={styles.textContainer}>
<TextInput
style={styles.inputUsername}
placeholder="Enter email ID"
value={this.state.username}
clearButtonMode = 'while-editing'/>
<TextInput
style={styles.inputPassword}
placeholder="Enter Password"
value={this.state.password}
password={true}
secureTextEntry={true}
clearButtonMode = 'while-editing' />
<Button style={styles.login}
styleDisabled={{color: 'red'}}>
Login
</Button>
</View>
</View>
);
}
module.exports = Login;
私はこれまでこれを試してみて、これに対する解決策を得ました。
私がApp.jsで行った1つの間違い:
var Login = require('./Login');
を置き換えました
沿って
import Login from './Login';
コンポーネントフォルダーの下のjsファイルもApp.jsを除いて次のように変更されました
Login.jsの変更:
class Login extends Component {
}
に変わった
class Login extends React.Component {
}
1バックルートディレクトリとプロジェクト構造全体のルートディレクトリからjs
ファイルをインポートするためにこの方法を実行しました。
以下のディレクトリ構造があります。
App.js
ファイルroot directory
Splash.js
ファイルMyApp -> Splash -> Splash.js
Home.js
ファイルMyApp -> Home -> Home.js
TextViewComponent
ファイルMyApp -> CustomComponents -> TextViewComponent.js
すべてのファイルですべてのファイルにアクセスする方法。
これがあなたにも役立つことを願っています。
完了しました。