expo-publish 相关问题


使用 expo go 从资产文件夹中读取文件

尝试使用 React Native expo go 从资产文件夹中读取文件 从“expo-asset”导入{资产}; 从“expo-file-system”导入*作为文件系统; ... const getFiles = asy...


BindableObject 和 ObservableObject 有什么区别?

使用 ObservableObject 你可以 @Publish 一个值。使用 BindableObject,您可以实现 didChange。 您什么时候会使用其中之一?我正在观看视频教程,他们突然使用了


运行“expo start”时显示错误消息(错误:UnhandledPromiseRejectionWarning)

我刚刚将我的 Expo 项目克隆到我的新 MacBook 上。我已经使用yarn安装了软件包和expo global,但没有运气运行expo start。错误信息如下: (节点:39137)


错误:链接需要在项目的 Expo 配置(app.config.js 或 app.json)中进行构建时设置 `scheme`

我使用react-native expo bare-workflow创建了该项目 npx create-expo-app --template bare-minimum 创建项目后,我尝试将expo-router安装到项目中,一切都完成了


世博应用程序中缺少应用程序文件夹的路由

简化的expo路由器使用应用程序文件夹中的文件名来创建应用程序路由,但使用npx create-expo-app或npx create-expo-app@latest创建expo应用程序不会导致应用程序直接...


如何使用Expo FileSystem.uploadAsync显示上传进度

我有一段代码如下,它利用 expo 文件系统将一个简单的文件上传为二进制文件,一切正常。 从“expo-file-system”导入*作为文件系统; const res = 等待 FileSy...


Expo 项目错误:配置项目 ':expo-modules-core' 时出现问题

几个月前我正在开发一个项目,当时它正在工作,现在我再次克隆了该存储库并执行了所有步骤,例如 npm install 然后 npx expo run:android 但我收到这个错误 甚至...


Expo - 帮助修改build.gradle

我目前正在开发一个expo+react-native应用程序。 我们正在与为我们提供react-native SDK 的第三方合作。 SDK 工作得很好,除了为了利用其中之一......


世博会React Native SSR

我有一个基于 Expo 和 React-native-web 构建的项目,适用于 Android、IOS 和 Web。 我使用 Expo 路由器进行导航,使用 @shopify/restyle 进行样式设置。 我想为此实施 SEO 或 SSR ...


Expo BarcodeScanner 仅在我第一次将扫描的条码数据发布到服务器时工作

Expo BarcodeScanner 仅在我第一次将扫描的条码数据发布到服务器时工作 从“react”导入 React, { useState, useEffect }; 导入 { 文本、视图、样式表、按钮 ...


Expo Development 客户端 Ios 构建问题?

不变违规:requireNativeComponent:在 UIManager 中找不到“RNDateTimePicker”。 此错误显示在 "react-native-modal-datetime-picker": "^17.0.0", ...


当我使用 Expo 启动 React Native 应用程序时出现“无与伦比的路线”

我是 React Native 新手,我只是想用 Expo 启动我的 React Native 应用程序,当我刚刚通过 Metro Bundler 访问时,立即说:“不匹配的路线 - 找不到页面”...


React Native - Expo:安排应用程序在特定时间后台启动

我正在使用 Expo 开发一个 React Native 项目,根据客户的要求,我正在寻找一种方法来安排应用程序在特定时间在后台打开,类似于推送通知。 .


如何使用expo配置插件在本机文件夹中创建新文件?

如标题所示。使用 expo 配置插件,我已经弄清楚如何对清单、主要活动等进行更改。 现在我需要在 android 文件夹中创建一些新的活动文件...


如何在Expo应用程序中集成应用内购买?

我有一个与 Expo Go 的应用内购买相关的问题。 我希望将支付功能集成到我的移动应用程序中,以允许用户解锁优质内容。 我注意到没有图书馆 Comp...


react Native expo go 在 uvicorn https 后无法连接到本地主机

我正在编写一个带有 fastapi 后端的 React Native expo go 应用程序。 这是一个教育应用程序,所以它有图像、视频和 pdf 等。 React Native Image 组件未在 ios 模拟器上加载图像,我...


如何在Expo原生视图模块中声明View类方法定义

我创建了一个 Expo 本机模块,如下所示。我可以声明视图的属性。但我还没有弄清楚如何声明类成员方法,例如播放器视图的播放/暂停方法。我是...


我应该在哪里放置 Expo/React Native 项目的 CSS 重置文件?

我有一个使用 Expo 搭建的 React Native 项目,想要执行 CSS 重置。我应该在哪里放置这样的文件?我需要将它连接到任何东西吗? 我当前的项目结构看起来...


为什么我的 expo 应用程序无法在 codeandbox 中运行?我无法运行

我试图在codesandbox中在线运行我的项目,但是当我打开服务器时,我无法在智能手机中连接Expo Go,它说网络连接超时错误。 我通常知道这个错误


此悬念边界在完成水合之前收到了更新。 React Native、Expo 路由器、Redux、Supabase

在 Expo 上启动开发服务器,在 localhost:8081 上的浏览器上打开,期望应用程序呈现,但出现错误: 这个悬念边界在完成水合之前收到了更新。这...


如何在我的托管 Expo React-Native 应用程序中为 Google AdMob 启用 SKAdNetwork

所以我在我的 Expo React-Native 应用程序中实现了 Google AdMob,一切都工作正常。我两天前在 AdMob 控制台中收到此警报,过去两天我一直在谷歌上搜索,但无法...


Expo 路由器问题:React Native 中基于文件的路由出现不匹配的路由错误

我在 React Native 中遇到了 Expo Router 的令人沮丧的问题。尽管设置了基于文件的路由,但我仍然收到“不匹配的路由”错误。我的目标是引导用户


Expo 应用程序进入后台时是否可以录制音频? [iOS为主]

我正在考虑使用 Expo(或裸 React Native)作为一个简单的语音备忘录应用程序。它需要能够长时间录制(最多 1 小时),还需要能够在应用程序运行时进行录制...


如何在React Native Expo应用程序中强制灯光模式?

我尝试过 Appearance.set({ colorScheme: 'light' });和“userInterfaceStyle”:“light”,但我的应用程序仍然强制白色变为黑色。


react-native(博览会)中的输入无法在网络上打开(混合应用程序)

我正在使用react-native(expo)创建一个应用程序混合体,以及一些类似的库: ` “依赖项”:{ "@apollo/client": "^3.8.4", “@gluestack-style/react&q...


我的世博项目在测试中崩溃 | SDK 49

我一直在尝试部署我已经工作了一段时间的 Expo 项目的新版本。然而,虽然开发环境没有问题,但是项目一到就崩溃了


使用 EAS 构建构建 React 本机应用程序失败

我在expo框架的帮助下制作了一个react本机应用程序。但是当我尝试构建时,多次失败 这是我的环境 EAS CLI 3.15.0 环境信息:...


Node.js 服务器上的 React Native Socket.IO 未连接

我正在构建一个React Native Expo应用程序,需要使用socket.io进行实时通信。我正在本地主机上运行 Node.js 服务器。 这是我的代码 React Native - home.js 从 & 导入 { io }


使用 Firebase TestLab 测试 React Native 应用程序

是否可以使用 Firebase TestLab 测试 React Native(Expo 托管)应用程序? 我还没有成功。几种可能的路线,到目前为止还没有成功: 1) 是否可以强制进行 Robo 测试...


如何使用react native、expo、expressjs和mongodb修复“网络错误”

我目前正在开发一款用于学习目的的卡路里跟踪应用程序。现在我正在尝试使用 axios 将 React Native 前端连接到后端,但是出现以下错误:


如何在expo react-native-app中收到FCM通知时禁用声音

我正在使用 firebase admin 从 dotnet 服务器发送通知来反应本机应用程序。在任何情况下一切都工作正常(前景、背景、死亡),但我希望用户能够


React Native:POST 请求在开发中有效,但在 EAS 构建 APK 中无效

我的 React Native 应用程序面临一个问题,当我使用 npx expo start 运行应用程序时,POST 请求可以完美工作,但当我使用 EAS Build 构建 APK 时,它无法按预期工作,并且 i.. .


自定义模态/工作表位于反应本机博览会路由器堆栈屏幕的后面,其表示设置为模态

我刚刚学习 React Native,我在上面使用了 Expo。 我有屏幕 create.js 将屏幕上的演示选项设置为“模态”,现在在这个屏幕中我必须使用 SELECT 输入...


如何实现带有底部选项卡的抽屉式导航,但没有两个嵌套导航器?

我正在尝试实现一个界面(在react-native - expo应用程序中),其中有一个主要导航器 - 抽屉。但仅出于用户界面的原因,我还想要一个带有选项卡的底部栏,看起来像底部......


为什么 Android 上两个组件之间的切换速度如此之慢?

我正在使用 Expo/React Native/Typescript 构建一个类似于填字游戏的小型拼图应用程序。 这是 PuzzleMain 组件的精简版本: const PuzzleMain:React.FC 我正在使用 Expo/React Native/Typescript 构建一个类似于填字游戏的小型拼图应用程序。 这是 PuzzleMain 组件的精简版本: const PuzzleMain: React.FC<PuzzleMainProps> = ({ navigation }) => { let puzzle: AcrosticPuzzleData = parseAcrosticPuzzle(PUZZLE_TEXT); const grid = <PuzzleGrid puzzle={puzzle} />; const clueView = <PuzzleCluesView puzzle={puzzle} />; const [index, setIndex] = React.useState(0); return <View style={styles.container}> {index == 0 ? grid : clueView} <View style={styles.keyboardContainer}> <Button onPress={() => setIndex(index == 1 ? 0 : 1)} title={"See " + routes[index == 0 ? "Grid" : "Clues"].key} /> <Keyboard /> </View> </View>; } 总结一下,有“网格”组件和“线索”组件,并通过按钮在它们之间进行切换。 毫不夸张地说,在我用来测试的 Pixel 5 上点击此按钮大约需要 3 秒的时间才能进行更改。我在这里做错了什么?使用Expo在网络上打开这个,它立即发生,所以可能它是Android特有的? 我尝试过的事情: 记住 PuzzleGrid 和 PuzzleCluesView 组件(const PuzzleGrid: React.FC<Props> = memo(({ puzzle }) ...。这基本上没有什么区别。我检查过,在我为备忘录功能制作的自定义拼图比较器中没有打印任何内容,所以我认为它没有重新渲染。 改用 TabView 在组件之间滑动 - 这有效!但说实话,我真的更喜欢两者兼得,而且当我将其合并到 TabView 实现中时,按钮同样很慢。 使用 npx expo start --no-dev 并仅构建一个 apk 并安装 - 这使得速度更快,但仍然可能需要整整一两秒,这太慢了。 正如我所看到的,您正在执行条件渲染,因此每次条件更改时,整个组件都会被创建为新组件。这种方法会使渲染速度变慢,具体取决于组件的重量。 为什么备忘录不起作用? Memo 是一种优化技术,并不能保证性能提升。 现在,提升加载速度 内部优化PuzzleGrid和PuzzleCluesView,比如每个可以接收重复道具的子组件都会被memo覆盖,重型物品会异步加载,使用loader。 使用 InteractionManager 提高加载速度,并帮助显示加载程序而不冻结 UI。 不要卸载组件,而是重叠它们并使用可见性,因为可见性不会卸载组件 而不仅仅是 {index == 0 ? grid : clueView}你可以尝试类似的事情 <View> {grid} <View style={{ // Add height and other required props to make it visible position: 'absolute', visibility: index == 0 ? 'hidden' : 'visible', }}> {clueView} </View> </View>


在发布为 npm 包之前使用 npm 链接测试组件时出现重复的 ReactJS 导入问题

我有一个像这样的简单组件。 从'react'导入React,{useState}; 函数 MyComponentWithState(props) { const [值,setValue] = useState(0); 返回 ( 我的价值... 我有一个像这样的简单组件。 import React, {useState} from 'react'; function MyComponentWithState(props) { const [value, setValue] = useState(0); return ( <p>My value is: {value}</p> ) } export default MyComponentWithState; 我想将它作为单独的包发布在 NPM 上。因此,为此我准备了 package.json 和 webpack.config.js,如下所示。 package.json: { "name": "try-to-publish", "version": "0.0.1", "description": "Just a test", "main": "build/index.js", "scripts": { "start": "webpack --watch", "build": "webpack" }, "author": { "name": "Behnam Azimi" }, "license": "ISC", "peerDependencies": { "react": "16.9.0", "react-dom": "16.9.0" }, "dependencies": { "react": "16.9.0", "react-dom": "16.9.0", "prop-types": "15.7.2", "react-scripts": "3.1.1", "webpack": "4.39.3" }, "devDependencies": { "@babel/core": "7.6.0", "@babel/plugin-proposal-class-properties": "7.5.5", "@babel/preset-env": "7.6.0", "@babel/preset-react": "7.0.0", "babel-loader": "8.0.6", "babel-plugin-transform-object-rest-spread": "6.26.0", "babel-plugin-transform-react-jsx": "6.24.1", "css-loader": "3.2.0", "node-sass": "4.12.0", "sass-loader": "8.0.0", "style-loader": "1.0.0", "webpack-cli": "3.3.8", "webpack-external-react": "^1.1.2" } } webpack.config.json: const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'build'), filename: 'index.js', libraryTarget: 'commonjs2' }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, include: path.resolve(__dirname, 'src'), use: { loader: "babel-loader" } }, ] }, resolve: { alias: { 'react': path.resolve(__dirname, 'node_modules/react'), 'react-dom': path.resolve(__dirname, 'node_modules/react-dom'), } }, externals: { 'react': "commonjs react", 'react-dom': "commonjs react-dom" }, }; 这是我的 .babelrc: { "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": ["@babel/plugin-proposal-class-properties"] } 当我将组件发布到 NPM 并使用 `npm install 将其安装到我的另一个 ReactJs 项目中时,这些配置就像魅力一样,但我的观点是本地测试! 我想在发布之前测试这个组件/库。为此,我使用 npm link 功能将我的组件与我的主 ReactJS 项目链接起来。 正如您在上面看到的,我的组件是功能性的,我也使用了钩子。因此,当我将本地链接的库注入到我的主 ReactJs 项目中时,会遇到此错误, 无效的挂钩调用。钩子只能在函数组件的主体内部调用。发生这种情况可能是由于以下原因之一: 1.您的React和渲染器版本可能不匹配(例如React DOM) 2. 你可能违反了 Hooks 规则 3. 您可能在同一个应用程序中拥有多个 React 副本 我的问题与第三个原因有关。我的项目使用 ReactJs 并导入一次,我的组件也会导入 React!我的意思是在一个项目中两次 React 导入!. 我的 Webpack 配置中还有关于 react 和 react-dom 的 externals 配置。 我应该怎么做才能解决这个问题?我的错误在哪里? 更新: 我也尝试过 @sung-m-kim 和 @eddie-cooro 所说的,但没有成功!意思是,我更改了 package.json 并从 react 中删除了 react-dom 和 dependencies 并将它们添加到 devDpendencies。 我终于通过这些步骤解决了这个问题。 运行npm链接里面 <your-library-package>/node_modules/react 还有 运行npm链接里面 <your-library-package>/node_modules/react-dom 然后在 应用程序根目录中运行 npm link react 和 npm link react-dom 并且不要忘记将 React 和 React-dom 作为库中的外部对象保留 // webpack.config.js const externals = { "react": "react", "react-dom": "react-dom", } module.exports = { . . . externals } 我解决了我的问题。我使用 RollupJS 而不是 Webpack 作为捆绑工具进行捆绑。 这是我的rollup.config.js: import {uglify} from 'rollup-plugin-uglify' import babel from 'rollup-plugin-babel' export default { input: "./src/index.js", external: ['react', 'react-dom'], output: { name: 'test-lib', format: "cjs", }, plugins: [ babel({ exclude: "node_modules/**" }), uglify(), ], }; 和我的package.json: { "name": "test-lib", "version": "1.0.0", "main": "dist/test-lib.min.js", "scripts": { "build": "rollup -c -o dist/test-lib.min.js" }, "author": "Behnam Azimi", "license": "ISC", "peerDependencies": { "react": "^16.9.0", "react-dom": "^16.9.0" }, "devDependencies": { "@babel/core": "^7.6.0", "@babel/preset-env": "^7.6.0", "@babel/preset-react": "^7.0.0", "rollup": "^1.21.4", "rollup-plugin-babel": "^4.3.3", "rollup-plugin-commonjs": "^10.1.0", "rollup-plugin-uglify": "^6.0.3" } } 经过这些更改,npm link在我的ReactJS(Hooks)项目中真正发挥了作用。 请注意,这只是一个简单的 Rollup 配置来展示我的解决方案,您可以在配置中添加多种内容,例如热重载、样式加载器和许多其他插件。 仅在 package.json 的 react 部分(而不是 react-native)内设置 peerDependencies 和 dependencies 包。另外,对于本地开发(当您的包未包含在任何其他 React 项目中并且您想在本地运行它时),您可以使用 devDependencies 字段。 我在打字稿反应项目中解决了这个问题。 可能,当使用 npm link 时,请使用主应用程序项目和组件项目中的 react。 因此,在您的 package.json 中从 react 和/或 dependencies 中删除 devDependencies 检查答案:https://stackoverflow.com/a/62807950/5183591 我也有同样的问题。 就我而言,我开发了一些 UI 组件作为包,其中有一个包含 React 应用程序的示例文件夹,用于创建 React 应用程序。 问题是,当我使用 npm i ../ 将包安装到示例应用程序中时,它会将包中的所有文件安装到示例应用程序中,包括 node_modules 文件夹。由于我已经安装了 react 和 react-dom 作为对等依赖项,示例应用程序现在有两个不同的 React 副本。 从包中删除 node_module 文件夹并重新安装包再次解决了我的问题。


© www.soinside.com 2019 - 2024. All rights reserved.