我有一个React Native应用程序,我需要实现external keyboard navigation support
。我正在尝试安装第三方软件包react-native-a11y
来帮助解决这个问题。但是,我已经有一个名为react-native-a11y
的本地软件包,重命名/重新配置需要大量的工作,所以我尝试导入别名为react-native-a11y-helper
的新软件包。
我在package.json
中有如下内容:
"react-native-a11y-alias": "npm:[email protected]",
字符串
在pnpm安装后,包会显示在node_modules中,并使用所需的别名作为包名。然后在我的代码中,我从包中导入了一个组件,在构建时没有任何问题:
import { KeyboardFocusView } from 'react-native-a11y-alias';
型
但是当我在Android device
上运行应用程序时,metro插件会抛出以下错误:
error: Error: Unable to resolve module react-native-a11y-helper from <file>.tsx: react-native-a11y-helper could not be found within the project or in these directories:
node_modules
../node_modules
型
我也试过用require
导入,但没有成功。
如何在RN中正确使用此软件包?
2条答案
按热度按时间igsr9ssn1#
正如
react-native-a11y
的文档:这个库还没有完成,目前处于测试阶段。
所以你需要仔细遵循安装公会:
npm i react-native-a11y
个cd ios && pod install
个1.添加到
MainActivity.java
:字符串
1.将提供程序添加到应用的根目录:
型
jw5wzhpr2#
在一个项目中不应该有几个相同的软件包。建议,删除已经安装的软件包并重新安装(最新版本),并为所有需要的情况进行配置。只保留一个软件包并使用它有什么困难?
这个包在GitHub上,带有必要的说明,https://github.com/ArturKalach/react-native-a11y