web-dev-qa-db-ja.com

ReactネイティブiOSプロジェクトのコンポーネントフォルダーからjsファイルにアクセスする方法

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;
6
BK19

私はこれまでこれを試してみて、これに対する解決策を得ました。

私が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 {
}
4
BK19

1バックルートディレクトリとプロジェクト構造全体のルートディレクトリからjsファイルをインポートするためにこの方法を実行しました。

以下のディレクトリ構造があります。

App.jsファイルroot directory

Splash.jsファイルMyApp -> Splash -> Splash.js

Home.jsファイルMyApp -> Home -> Home.js

TextViewComponentファイルMyApp -> CustomComponents -> TextViewComponent.js

すべてのファイルですべてのファイルにアクセスする方法。

enter image description here

これがあなたにも役立つことを願っています。

完了しました。

2
Hiren Patel