gpt4 book ai didi

javascript - 我对 react native 中的导入/导出不明白什么?

转载 作者:行者123 更新时间:2023-12-02 13:44:30 24 4
gpt4 key购买 nike

我为 Android 创建了一个 native 模块库,并尝试合并到具有类似 iOS 功能的现有项目中。 API有点不同,而且我不擅长Objective-C,所以在index.js中我想调用iOS函数,在javascript中拦截回调,将结果按摩到我的新函数中API,并调用原始回调。现在,我想为新的 API 调用使用不同的名称,而不是 iOS native 模块中定义的名称 (colorGrabber.getColors),因此我定义了一个函数 getSome

我尝试了不同导出表达式和导入表达式的多种组合,但总是收到类似 _reactNativeColorGrabber2.default.getSome is not a function( is not a function.(在“(0,_reactNativeColorGrabber2.default)”中,“(”是对象的实例)

我不知道这些消息的含义。因此,我以无知的黑客的方式尝试复制其他人的做法。在react-native-image-picker中,他们有类似的东西。他们说:

module.exports = {
...ImagePickerManager,
showImagePicker: function showImagePicker(options, callback) {
if (typeof options === 'function') {
callback = options;
options = {};
}
return ImagePickerManager.showImagePicker({...DEFAULT_OPTIONS, ...options}, callback)
}
}

这对他们有用。但是当我尝试一些非常相似的东西时:

module.exports = {
getSome: function getSome(image, callback) {
return colorGrabber.getColors(image, callback);
}
}

错误消息表明该函数未定义。我也尝试过不同形式的 ES6 风格的导出语句。

在使用组件中,我尝试了 import colorGrabber from 'react-native-color-grabber'; (这给出了我上面提到的第一条错误消息)和 import getSome from 'react-native-color-grabber'; 给出了第二个。

显然我不明白一些关于导入和导出的基本知识。

有线索吗?

更新:看来我的大部分实验都被打包器缓存挫败了——这可能就是我无法让事情发挥作用的原因。很多时候,当我要改变一些东西时,这会非常令人困惑,因为结果不会改变。看起来打包程序可能会忽略 node_modules 中的更改。如果每次在 index.js 中进行更改时,我都会杀死打包程序并执行 rm -fr $TMPDIR/react-* && npm start ,然后重新加载我的模拟器,那么我现在就成功了。

最佳答案

export const getSome = (image, callback) => (
colorGrabber.getColors(image, callback)
)

您现在应该可以使用 import { getSome } from '../filepath' 导入它

关于javascript - 我对 react native 中的导入/导出不明白什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41516114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com