React native:无法解析模块确实,none 这些文件存在:

React native :Unable to resolve module Indeed, none of these files exist:

我正在关注 this medium article 在我的 react-native 项目中使用 FloatingTitleTextInputField

下面是我的项目结构

这是我的 HomeScreen.js

代码
import React, {Component} from 'react';
import {Text, View, TextInput, StyleSheet} from 'react-native';
import FloatingTitleTextInputField from './customComponents/floating_title_text_input_field';



export default class HomeScreen extends Component {
  render() {
    return (
      // <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
      //   <Text>My First React App</Text>
      //   <TextInput style={{height: 40, borderColor: 'gray', borderWidth: 1}} />
      // </View>

      <View style={styles.container}>
        <View style={styles.container}>
          <Text style={styles.headerText}>Its Amazing</Text>
          <FloatingTitleTextInputField
            attrName="firstName"
            title="First Name"
            value={this.state.firstName}
            updateMasterState={this._updateMasterState}
          />
          <FloatingTitleTextInputField
            attrName="lastName"
            title="Last Name"
            value={this.state.lastName}
            updateMasterState={this._updateMasterState}
          />
        </View>
      </View>
    );
  }
}
var styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingTop: 65,
    backgroundColor: 'white',
  },
  labelInput: {
    color: '#673AB7',
  },
  formInput: {
    borderBottomWidth: 1.5,
    marginLeft: 20,
    borderColor: '#333',
  },
  input: {
    borderWidth: 0,
  },
});

当我尝试在 HomeScreen.js 中使用 FloatingTitleTextInputField 时,出现以下错误

    error Unable to resolve module `./floating_title_text_input_field` from `React Native/AwesomeProject/screens/

HomeScreen.js`: The module `./floating_title_text_input_field` could not be found from `/React Native/AwesomeProject/screens/HomeScreen.js`. Indeed, none of these files exist:


  * `/React Native/AwesomeProject/screens/floating_title_text_input_field(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`


  * `/React Native/AwesomeProject/screens/floating_title_text_input_field/index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`. Run CLI with --verbose flag for more details.


Error: Unable to resolve module `./floating_title_text_input_field` from `React Native/AwesomeProject/screens/HomeScreen.js`: The module `./floating_title_text_input_field` could not be found from `/React Native/AwesomeProject/screens/HomeScreen.js`. Indeed, none of these files exist:

谁能帮我解决这个问题

如果需要更多信息,请告诉我。提前致谢。我们将不胜感激。

您正在从 screens 目录中的 HomeScreen 组件引用它。因为您使用的是本地 ./ 路径,所以它试图在 screens/customComponents 中找到它。使用 ../customComponents/floating_title_text_input_field 应该可以修复它。

即使您的错误是在 require 语句中使用了错误的路径,我认为分享我如何解决这个问题可能会有用,文件导入路径不是错误的原因。我在添加一些图像资产并在我的组件中需要它们后遇到了这个问题。但是我忘了再次构建应用程序。经过多次尝试,这是对我有用的解决方案。

  1. 停止您的开发服务器。
  2. 使用 yarn android/ios 在您的 android 设备或​​模拟器上安装应用程序。
  3. 使用yarn start启动开发服务器。

FloatingTitleTextInputField 组件似乎是命名导出。所以像 import { FloatingTitleTextInputField } from 'the source'.

一样导入它

或者简单地默认导出 FloatingTitleTextInputField 就像 floating_title_text_input_field.js 文件中的 export default class FloatingTitleTextInputField

您可以清理捆绑器上的缓存:

npm start --clean-cache