ohrn_fangL:基于 OpenHarmony 生态的 React Native 开发框架项目

React Native鸿蒙化仓库

分支11Tags121
文件最后提交记录最后更新时间
chore(Docs): RNOH社区规范文档调整,以及提供对应模板文件 1、RNOH社区规范文档调整 2、配套规范提供对应模板文件 3、tester直接依赖源码编译,需要在entry做debug和release区分 Signed-off-by: gyange <gyange@163.com> 1 个月前
feat(Upgrade): 升级React Native版本为0.84.1 Co-authored-by: fangyygw<fang_zhen@hoperun.com> 1 个月前
[docs](Docs):0.84版本docs文档更新 更新文档内容到0.84版本 Signed-off-by: fangyygw <fang_zhen@hoperun.com> 8 天前
chore(Tests): 迁移tetster-ecosystem包 将tester-ecosystem包从本monorepo迁移至独立仓库维护,解耦生态兼容性测试与核心框架构建流程。 迁移变更: 1. 移除packages/tester-ecosystem/下全部源码及配置文件 2. 从pnpm-workspace.yaml中移除tester-ecosystem工作区引用 3. 从根package.json中移除test:ecosystem脚本 4. 更新scripts/sync-hvigor.js,移除对tester-ecosystem的处理逻辑 5. 更新pnpm-workspace.yaml中hvigor相关注释 影响范围: - pnpm workspace:不再包含tester-ecosystem,pnpm install不再安装其依赖 - 构建脚本:test:ecosystem命令已移除,相关CI流水线需同步调整 - 核心框架:不受影响,tester-ecosystem为独立测试项目 Closes #2544 Signed-off-by: fangyygw <fang_zhen@hoperun.com> 8 天前
!2830 merge codex/scan-0521-header-fixes into main refactor: align remaining license and copyright headers Created-by: jiaxuan_wong Commit-by: jiaxuan_wong Merged-by: openharmony_ci Description: ## 变更类型 请在对应类型(请勿多选)前打 ,**仅可选择一项**: - [ ] feat(新增功能,对应 Changelog Added) - [ ] fix(修复 Bug,对应 Changelog Fixed) - [ ] docs(文档变更,对应 Changelog Documentation) - [x] refactor(代码重构,对应 Changelog Changed) - [ ] perf(性能优化,对应 Changelog Performance) - [ ] test(测试相关,不进入 Changelog) - [ ] chore(构建/工具链/依赖,不进入 Changelog) - [ ] deprecated(标记弃用,对应 Changelog Deprecated) - [ ] removed(移除功能,对应 Changelog Removed) - [ ] security(安全修复,对应 Changelog Security) ## 变更内容 - 本次变更主要补齐并统一仓内剩余文件的版权头与许可证头,处理 OAT.3 / OAT.4 相关告警。 - 变更基于最新 main 重新整理,仅保留主线尚未覆盖的头注释修复,避免与主线已合入的年份和许可证口径冲突。 - 本次修改仅涉及文件头注释,不改变业务逻辑、接口行为、构建流程和运行结果。 ## 测试步骤 <!-- 如何测试这条PR。例如: 1. 打开Tester工程. 2. 执行npm run start命令. ... --> 1. 基于最新 main 检查 PR diff,确认仅涉及文件头注释相关修改。 2. 抽查 TS、TSX、ETS、Shell、YAML 等不同类型文件,确认版权头和许可证头格式正确。 3. 触发仓内静态扫描或 AI Review,确认不再出现对应的 OAT.3 / OAT.4 告警。 ## 测试情况 - [ ] 已通过本地完整测试(单元测试/集成测试) - [ ] 已通过 CI 自动构建与测试 - [ ] 已补充/更新对应的测试用例 - [ ] 已在目标环境(如 手机/平板)验证功能 - [ ] 已在最低兼容API版本验证可用性 ## 合入前自检 <!-- 请在合入前根据以下条例进行自检 自检完成后在[ ]内填入"x", 例如: - [x] 不涉及非兼容性变更;若涉及,已通过相应评审。 --> - [ ] 不涉及非兼容性变更;若涉及,已通过相应评审。 - [ ] 不涉及性能或已进行性能测试且无性能劣化。 - [ ] 符合对应的编码规范。 - [ ] 无敏感信息泄露,如密码、密钥等。 - [ ] 不涉及文档更新,或已更新了文档。 - [ ] 针对可测试性要求,已增加必要的自测用例、合理的日志记录或Trace信息。 - [ ] 不存在非法的文件引入,包括图片和代码等 See merge request: OpenHarmony-RN/ohos_react_native!283012 天前
chore: add license scanning config, change some licence headers # message auto-generated for no-merge-commit merge: merge license into 0.77.1-rc.1-ohos chore: add license scanning config, change some licence headers Created-by: linhandev Commit-by: linhandev Merged-by: huangyouhua Description: ## Why are these changes being made? - Add license header scanning config. Without that oat config codecheck task in start build would fail while adding new source code file. - Config files don't usually get license headers, but since clang configs takes comments, I'd like to add license headers in them to be on the safe side. pnpm verify and format both works after this change. - Our jsvm related code license header is referencing non existing LICENSE-MIT file, changed that to LICENSE - RNTypes.ts is mainly copied from upstream, it should use meta's license ## Changelog ## Test Plan Add a new source code file with hw license header, ci should pass ## Checklist - [x] pnpm verify command has passed successfully. ~~- [ ] No failures occurred in automatic tests on the CONCURRENT TESTER page in the tester app.~~ ~~- [ ] No failures occurred in automatic tests on the SEQUENTIAL TESTER page in the tester app.~~ - [x] MR does not include a breaking change or a review has been requested from a Huawei reviewer. See merge request: openharmony-sig/ohos_react_native!8621 年前
chore: add license scanning config, change some licence headers # message auto-generated for no-merge-commit merge: merge license into 0.77.1-rc.1-ohos chore: add license scanning config, change some licence headers Created-by: linhandev Commit-by: linhandev Merged-by: huangyouhua Description: ## Why are these changes being made? - Add license header scanning config. Without that oat config codecheck task in start build would fail while adding new source code file. - Config files don't usually get license headers, but since clang configs takes comments, I'd like to add license headers in them to be on the safe side. pnpm verify and format both works after this change. - Our jsvm related code license header is referencing non existing LICENSE-MIT file, changed that to LICENSE - RNTypes.ts is mainly copied from upstream, it should use meta's license ## Changelog ## Test Plan Add a new source code file with hw license header, ci should pass ## Checklist - [x] pnpm verify command has passed successfully. ~~- [ ] No failures occurred in automatic tests on the CONCURRENT TESTER page in the tester app.~~ ~~- [ ] No failures occurred in automatic tests on the SEQUENTIAL TESTER page in the tester app.~~ - [x] MR does not include a breaking change or a review has been requested from a Huawei reviewer. See merge request: openharmony-sig/ohos_react_native!8621 年前
feat(Upgrade): 0.84版本,修复Hermes v1剥离符号问题 0.84版本,修复Hermes v1剥离符号问题 Closes #2452 Signed-off-by: fangyygw <fang_zhen@hoperun.com> 21 天前
refactor: remove the codegen-harmony configuration from sample-package. Co-authored-by: 谢代荣<xiedairong@huawei.com> # message auto-generated for no-merge-commit merge: merge sample into 0.77.1-rc.1-ohos refactor: remove the codegen-harmony configuration from sample-package. Created-by: xiedrsz Commit-by: 谢代荣 Merged-by: huangyouhua Description: ## Why are these changes being made? This version will release a bytecode-format release HAR package. This format of HAR package does not allow ets code to be generated under the rnoh module. Therefore, it is necessary for the sample-package to manage its own codegen-generated code. ## Changelog - removed the codegen-harmony configuration from sample-package. ## Test Plan 1. Open the tester. 1. Check the CustomeNativeComponent test case. ## Checklist - [x] pnpm verify command has passed successfully. - [x] No failures occurred in automatic tests on the CONCURRENT TESTER page in the tester app. - [x] No failures occurred in automatic tests on the SEQUENTIAL TESTER page in the tester app. - [x] MR does not include a breaking change or a review has been requested from a Huawei reviewer. See merge request: openharmony-sig/ohos_react_native!15618 个月前
refactor: use react-native submodule + patch instead of private react-native-core submodule Co-authored-by: zheng-jun-feng<949815885@qq.com> Co-authored-by: linhandev<hanlin21@huawei.com> # message auto-generated for no-merge-commit merge: merge 0.77.1-rc.1-ohos into 0.77.1-rc.1-ohos refactor: use react-native submodule + patch instead of private react-native-core submodule Created-by: zheng-jun-feng Commit-by: zheng-jun-feng;linhandev Merged-by: huangyouhua Description: ## Description https://gitcode.com/openharmony-sig/ohos_react_native/pull/1220 Relying on this code, the conflict was resolved, and the patch was updated. Currently, private React Native Core is used as a submodule as a temporary measure (RNC can't be public due to internal policy). This MR uses RN submodule + patch generated from RNC - approach. ## Test Plan 1. Clone this branch . 1. Run pnpm init-ws. 1. Run tester. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [?] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. - [ ] TODO: make react-native-core/v0.77.1-2 default in RNC repo once this MR is merged See merge request: openharmony-sig/ohos_react_native!13739 个月前
chore: fix Metro config to support local images when using Metro;: fix displaying react-native icons in testers; ignore checking links to npm Co-authored-by: Arkadiusz Kasprzyk<arkadiusz.kasprzyk@swmansion.com> # message auto-generated for no-merge-commit merge: merge kas/fix-images-from-metro into 0.77.1-rc.1-ohos chore: fix Metro config to support local images when using Metro;: fix displaying react-native icons in testers; ignore checking links to npm Created-by: arkadiuszkasprzyk Commit-by: Arkadiusz Kasprzyk Merged-by: huangyouhua Description: ## Description Currently, tester 61 setup doesn't display local images when using Metro. A previous attempt with changing projectRoot in metro config introduced a transpilation error. This approach is different. It also fixes the problem with react icons not being displayed in testers. This MR also ignores checking links to npm in the docs because verify:docs started to fail (links are valid — tested manually). ## Changes - [fixed] fixed interop61 tester Metro config to display local images hosted by Metro server ## Test Plan Check Plain Static Image example in tester 61. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [x] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. See merge request: openharmony-sig/ohos_react_native!15908 个月前
chore: Init RNOH Interop 61 Project Co-authored-by: Arkadiusz Kasprzyk<arkadiusz.kasprzyk@swmansion.com> # message auto-generated for no-merge-commit merge: merge kas/interop-tester-package into 0.77.1-rc.1-ohos chore: Init RNOH Interop 61 Project Created-by: arkadiuszkasprzyk Commit-by: Arkadiusz Kasprzyk Merged-by: huangyouhua Description: ## Description RNOH Interop 61 Project aims to support RN 61 API so that legacy projects can adopt RNOH without updating their projects on Android and iOS to the new architecture. RNOH Interop 61 package will use the latest RNOH under the hood. This MR adds 2 new packages to monorepo. Tester package also proves that a code can be shared between 2 NPM projects. ## Changes ## Test Plan Run the tester project according to packages/react-native-harmony-61-interop-tester/README.md. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [x] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. See merge request: openharmony-sig/ohos_react_native!13349 个月前
feat: remove deps needing private repo Co-authored-by: linhandev<hanlin21@huawei.com> # message auto-generated for no-merge-commit merge: merge token into 0.77.1-rc.1-ohos feat: remove deps needing private repo Created-by: linhandev Commit-by: linhandev Merged-by: huangyouhua Description: ## Why are these changes being made? We shouldn't be using private registry for public project. This pr removes the need for the private npm registry ## Changelog ## Test Plan Fresh clone, init-ws and tester-ecosystem build works. ## Checklist - [x] pnpm verify command has passed successfully. - [x] No failures occurred in automatic tests on the CONCURRENT TESTER page in the tester app. - [x] No failures occurred in automatic tests on the SEQUENTIAL TESTER page in the tester app. - [x] MR does not include a breaking change or a review has been requested from a Huawei reviewer. See merge request: openharmony-sig/ohos_react_native!9191 年前
docs(Docs): optimize the docs structure Co-authored-by: gyange<gyange@163.com> 1 个月前
docs(Docs): optimize the docs structure Co-authored-by: gyange<gyange@163.com> 1 个月前
docs: 新增社区开发规范 Co-authored-by: gyange<gyange@163.com> 1 个月前
chore: add Huawei Technologies copyright and update NOTICE.md ## Summary This PR adds licenses and notices from gitee repo added by Huawei and combines it with our repo. It's better to have more legal mumbo jumbo than less. Related https://gl.swmansion.com/rnoh/react-native-harmony/-/issues/1425 See merge request rnoh/react-native-harmony!1727 Signed-off-by: huangyouhua <1356795413@qq.com> 1 年前
Chore: add RNTester from upstream repo Co-authored-by: Przemysław Sosna<przemyslaw.sosna@swmansion.com> # message auto-generated for no-merge-commit merge: merge @sosen/official-tester into 0.77.1-rc.1-ohos Chore: add RNTester from upstream repo Created-by: PrzemekSosna Commit-by: Przemysław Sosna Merged-by: huangyouhua Description: ## Description This adds the official RNTester from the upstream repo. ## Changes - added official RNTester for purposes of 0.61 interop tester ## Test Plan 1. Register the official RNTester in index.js of legacy-rn61-project, and try to run it on Harmony. 2. Test on android by running the legacy project with the RNTester registered in index.js. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [x] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. See merge request: openharmony-sig/ohos_react_native!13759 个月前
fix(Config): exempt LICENSE-Meta from OAT scan and align copyright with upstream 问题描述: OAT 4 扫描报告 LICENSE-Meta 文件存在 Copyright Header Invalid: InvalidCopyright 告警。 LICENSE-Meta 中的版权声明 "Copyright (c) Meta Platforms, Inc. and affiliates" 不符合 OAT.xml policylist 中定义的允许版权模式 (Huawei Technologies Co., Ltd. 或个人开发者格式 ^[A-Z][a-z]+ [A-Z][a-z]+), 且末尾缺少句号,与 React Native 上游官方格式 "Copyright (c) Meta Platforms, Inc. and affiliates." 不一致,可能导致合规风险。 解决方案: 1. 在 OAT.xml 的 defaultFilter 和 copyrightPolicyFilter 中分别添加3个 LICENSE-Meta 文件的 filepath 过滤项, 声明其来自上游 Meta,与 LICENSE-Facebook 等处理一致; 2. 在3个 LICENSE-Meta 文件版权声明末尾补齐句号, 使其与 React Native 官方仓库格式完全一致。 影响范围: 仅修改 OAT.xml 过滤规则和 LICENSE-Meta 文本格式, 不改变任何源码逻辑与功能,整体向后兼容。 Signed-off-by: jiaxuan_wong <1801330925@qq.com> 11 天前
Modifications from version 0.77 migrated to 0.82 Co-authored-by: xiedrsz<xiedairong@huawei.com> Co-authored-by: arkadiuszkasprzyk<arkadiusz.kasprzyk@swmansion.com> Co-authored-by: kidq330<jakub.migdal@swmansion.com> Co-authored-by: michalzuch<michal.zuch@swmansion.com> Co-authored-by: zichenyang21<zichen834194@163.com> Co-authored-by: luqi_tan<295099422@qq.com> Co-authored-by: huangyouhua<huangyouhua2@huawei.com> Co-authored-by: qq_41986353<chenhaoyue1@huawei.com> Co-authored-by: huhaodong<huhaodong6@huawei.com> Co-authored-by: jiaxuan_wong<1801330925@qq.com> Co-authored-by: Marwyk2003<marcin.wykpis@swmansion.com> Co-authored-by: msluszniak<mateusz.sluszniak@swmansion.com> Co-authored-by: ohci1<ohci1@noreply.gitcode.com> Co-authored-by: pafry<patryk.fryda@swmansion.com> Co-authored-by: openharmony_ci<openharmony_ci@noreply.gitcode.com> Co-authored-by: saberblack<lizhen170@huawei.com> Co-authored-by: quxin024<quxin9@huawei.com> Co-authored-by: wojciech-loboda<wojciech.loboda@swmansion.com> Co-authored-by: haozhihang<haozhihang@huawei.com> # message auto-generated for no-merge-commit merge: !1980 merge 0.82 into 0.82 Modifications from version 0.77 migrated to 0.82 Created-by: haozhihang Commit-by: haozhihang;chenhaoyue1;openharmony_ci;michalzuch;pafry;wojciech-loboda;huangyouhua;qq_41986353;quxin024;msluszniak;Marwyk2003;saberblack;huhaodong;luqi_tan;arkadiuszkasprzyk;ohci1;jiaxuan_wong;xiedrsz;zichenyang21;kidq330 Merged-by: openharmony_ci Description: <!-- 请在合并之前删除注释代码,以避免将其包含在GIT历史记录中 --> # 描述 <!-- 简要描述PR的目的,例如: 这条PR主要实现metro局域网内远程调试的功能. --> # 变更日志 <!-- 列出可包含在变更日志中的要点的主要变更。 不要列出内部更改。请以下列开头来写每个变更点: - added - fixed - deprecated - removed 如果是一条新增属性的变更,则以[added]开头,例如: - [added] FlatList组件新增inverted属性 --> # 测试步骤 <!-- 如何测试这条PR。例如: 1. 打开Tester工程. 2. 执行npm run start命令. ... --> # 合入前自检 <!-- 请在合入前根据以下条例进行自检 自检完成后在[ ]内填入"x", 例如: - [x] 不涉及非兼容性变更;若涉及,已通过相应评审。 --> - [ ] 不涉及非兼容性变更;若涉及,已通过相应评审。 - [ ] 不涉及性能或已进行性能测试且无性能劣化。 - [ ] 符合对应的编码规范。 - [ ] 不涉及文档更新,或已更新了文档。 - [ ] 针对可测试性要求,已增加必要的自测用例、合理的日志记录或Trace信息。 - [ ] 不存在非法的文件引入,包括图片和代码等 - [ ] 本PR已经在77分支开启PR或不需要在77分支合入 - 如需合入77分支,PR地址: See merge request: openharmony-sig/ohos_react_native!19804 个月前
chore(Docs): RNOH社区规范文档调整,以及提供对应模板文件 1、RNOH社区规范文档调整 2、配套规范提供对应模板文件 3、tester直接依赖源码编译,需要在entry做debug和release区分 Signed-off-by: gyange <gyange@163.com> 1 个月前
fix(Config): exempt LICENSE-Meta from OAT scan and align copyright with upstream 问题描述: OAT 4 扫描报告 LICENSE-Meta 文件存在 Copyright Header Invalid: InvalidCopyright 告警。 LICENSE-Meta 中的版权声明 "Copyright (c) Meta Platforms, Inc. and affiliates" 不符合 OAT.xml policylist 中定义的允许版权模式 (Huawei Technologies Co., Ltd. 或个人开发者格式 ^[A-Z][a-z]+ [A-Z][a-z]+), 且末尾缺少句号,与 React Native 上游官方格式 "Copyright (c) Meta Platforms, Inc. and affiliates." 不一致,可能导致合规风险。 解决方案: 1. 在 OAT.xml 的 defaultFilter 和 copyrightPolicyFilter 中分别添加3个 LICENSE-Meta 文件的 filepath 过滤项, 声明其来自上游 Meta,与 LICENSE-Facebook 等处理一致; 2. 在3个 LICENSE-Meta 文件版权声明末尾补齐句号, 使其与 React Native 官方仓库格式完全一致。 影响范围: 仅修改 OAT.xml 过滤规则和 LICENSE-Meta 文本格式, 不改变任何源码逻辑与功能,整体向后兼容。 Signed-off-by: jiaxuan_wong <1801330925@qq.com> 11 天前
docs(Docs): update Developer Collaboration Guide Update the README in the repository documentation with guidelines for maintainers or contributors Signed-off-by: suqikuan <suqikuan1@h-partners.com> 14 天前
feat(Upgrade): 升级React Native版本为0.84.1 Co-authored-by: fangyygw<fang_zhen@hoperun.com> 1 个月前
chore(Tests): 迁移tetster-ecosystem包 将tester-ecosystem包从本monorepo迁移至独立仓库维护,解耦生态兼容性测试与核心框架构建流程。 迁移变更: 1. 移除packages/tester-ecosystem/下全部源码及配置文件 2. 从pnpm-workspace.yaml中移除tester-ecosystem工作区引用 3. 从根package.json中移除test:ecosystem脚本 4. 更新scripts/sync-hvigor.js,移除对tester-ecosystem的处理逻辑 5. 更新pnpm-workspace.yaml中hvigor相关注释 影响范围: - pnpm workspace:不再包含tester-ecosystem,pnpm install不再安装其依赖 - 构建脚本:test:ecosystem命令已移除,相关CI流水线需同步调整 - 核心框架:不受影响,tester-ecosystem为独立测试项目 Closes #2544 Signed-off-by: fangyygw <fang_zhen@hoperun.com> 8 天前
chore: update react-native to 0.82.1 Co-authored-by: Patryk Fryda<patryk.fryda@swmansion.com> # message auto-generated for no-merge-commit merge: !1843 merge 0.82 into 0.82 chore: update react-native to 0.82.1 Created-by: pafry Commit-by: Patryk Fryda Merged-by: huangyouhua Description: # https://gitcode.com/openharmony-sig/ohos_react_native/merge_requests/1835 has to be merged first. ## Why are these changes being made? There is ongoing effort to update react-native and RNOH to 0.82. This is the last step. ### Notable react-native changes: - https://github.com/facebook/react-native/pull/51600 - infoLog removal - https://github.com/facebook/react-native/pull/53094 - changing libhermes to libhermesvm - https://github.com/facebook/react-native/pull/52610 - moving ReactNativeFeatureFlags to src/private - https://github.com/facebook/react-native/pull/53360 - stable DOM API - https://github.com/facebook/react-native/pull/52750 - Install ContextContainer::Shared with std::shared_ptr ### Other changes: - replaced custom RNOH cxx turbomodules ## Changelog - updated react-native to 0.82.1 ## Test Plan - launch tester app, - run sequential and concurrent tests ## Checklist - [x] pnpm verify command has passed successfully. - [x] No failures occurred in automatic tests on the CONCURRENT TESTER page in the tester app. - [x] No failures occurred in automatic tests on the SEQUENTIAL TESTER page in the tester app. - [x] MR does not include a breaking change or a review has been requested from a Huawei reviewer. See merge request: openharmony-sig/ohos_react_native!18435 个月前
chore(Tests): 迁移tetster-ecosystem包 将tester-ecosystem包从本monorepo迁移至独立仓库维护,解耦生态兼容性测试与核心框架构建流程。 迁移变更: 1. 移除packages/tester-ecosystem/下全部源码及配置文件 2. 从pnpm-workspace.yaml中移除tester-ecosystem工作区引用 3. 从根package.json中移除test:ecosystem脚本 4. 更新scripts/sync-hvigor.js,移除对tester-ecosystem的处理逻辑 5. 更新pnpm-workspace.yaml中hvigor相关注释 影响范围: - pnpm workspace:不再包含tester-ecosystem,pnpm install不再安装其依赖 - 构建脚本:test:ecosystem命令已移除,相关CI流水线需同步调整 - 核心框架:不受影响,tester-ecosystem为独立测试项目 Closes #2544 Signed-off-by: fangyygw <fang_zhen@hoperun.com> 8 天前
feat(interop-61): support Picker component Co-authored-by: Arkadiusz Kasprzyk<arkadiusz.kasprzyk@swmansion.com> # message auto-generated for no-merge-commit merge: merge kas/picker-61-attempt-3 into 0.77.1-rc.1-ohos feat(interop-61): support Picker component Created-by: arkadiuszkasprzyk Commit-by: Arkadiusz Kasprzyk Merged-by: huangyouhua Description: ## Description This MR adds support for Picker component, which is exported by RN 61 API. The implementation includes extra RNOH specific prop — selectedItemStyle, because OHOS uses by default a blue color to show selection. (I suspect many application developers may need to adapt that color to match the theme of their application.) ![picker--rnoh-vs-android.png](https://raw.gitcode.com/user-images/assets/4370111/5b53a517-16ab-4b08-8fd9-d8292347bcc5/picker--rnoh-vs-android.png 'picker--rnoh-vs-android.png') ## Changes - [added] Picker component support in interop-61 package ## Test Plan Compare Picker examples in RN Tester 61 with Android. - "Colorful pickers" example isn't supported on OHOS due to platform API limitations. - "Picker with prompt message" example also doesn't work, but this is also the case for Android. ## Checklist - [x] Does not involve incompatible changes; if involved, has been reviewed accordingly. - [x] Does not impact performance, or performance testing has been conducted without degradation. - [x] Complies with the relevant coding standards. - [x] Does not involve documentation updates, or the documentation has been updated. - [x] Meets testability requirements with necessary self-test cases, appropriate logging, or trace information added. - [x] No illegal file inclusions exist, such as images or code. See merge request: openharmony-sig/ohos_react_native!15448 个月前

React Native for OpenHarmony (RNOH)

将 React Native 开发体验完整带入鸿蒙生态 (OpenHarmony)。高性能桥接、完整 Fabric 支持,让 RN 应用无缝运行于鸿蒙。

MIT License RNOH Framework RNOH Libraries


项目简介

本项目为 React Native 跨平台应用开发框架添加 OpenHarmony 平台支持

角色 / Role 中文文档 English Docs
应用开发者 / Application Developer README.md README.md
库开发者 / Library Developer 三方库接入指南 Library Integration Guide
维护者或贡献者 / Maintainer or Contributor 开发者共建指南 Developer Documentation Co-creation Guide

文档导航

🚀 快速开始

文档 说明
环境搭建 开发环境配置
SDK版本配置指导 SDK版本配置
编译构建指南 release编译构建指南

📦 版本管理

文档 说明
版本说明 版本信息概览
版本升级指导 版本升级流程
RN升级需要开发者适配整理 RN版本适配说明
上游社区不兼容变更 不兼容变更记录

💡 开发文档

文档 说明
框架设计 提供设计原理、架构说明、接口规格等内容,帮助开发者理解框架底层原理。
开发指导 旨在帮助开发者从环境准备到功能实现顺利完成开发工作。
调试调测 提供调试调测工具与方法,提供开发者调试效率。
性能调优 包含性能优化方法、内存优化指导、最佳实践案例等内容,帮助开发者优化应用性能和内存占用。

❓ 问题定位

RNOH 语料已进入 Gemini、DeepSeek、GLM 等主流 AI 模型

推荐使用 AI 工具结合日志与上下文快速定位问题。提供 错误堆栈 + RNOH 版本 + 设备型号 可获得精准的根因分析与修复建议。

稳定性问题

步骤 操作
1. 收集日志 使用 DevEco Studio 获取 crash 日志或 tombstone
2. 分析堆栈 重点关注 libRNOH.solibreact_nativemodule.so 符号
3. 常见原因 线程未同步、NativeModule 生命周期错误、内存越界
4. AI 提示词 "RNOH 0.82 在鸿蒙折叠屏上打开 Modal 闪退,堆栈如下:…… 请分析可能原因。"
5. 验证方案 隔离可疑模块,使用 AddressSanitizer 检测
文档 说明
稳定性分析方法 提供:冻屏、CppCrash、内存异常等稳定性问题分析方法
v0.72历史修复 0.72版本修复记录
v0.77历史修复 0.77版本修复记录
v0.82历史修复 0.82版本修复记录

性能问题

步骤 操作
1. 抓取数据 React DevTools Profiler + 鸿蒙 DevEco Profiler
2. 识别瓶颈 JS 线程阻塞、UI 线程掉帧、过度渲染
3. 优化手段 FlashList 替代 FlatList、避免匿名函数、启用 Hermes 并发 GC
4. AI 提示词 "RNOH 0.77 长列表滑动卡顿,JS 线程占用 80%,请给出优化策略。"
5. 验证 对比优化前后帧率曲线

工程问题

步骤 操作
1. 编译错误 检查 git submodule、CMakeLists 依赖、RNOH 与 RN 版本对齐
2. 链接错误 确认 so 库完整打包,使用 readelf 检查符号
3. 模块未找到 检查 TurboModule 注册与 Codegen 生成
4. AI 提示词 "RNOH 编译报错 undefined symbol: jsi::Value,环境 0.82,如何解决?"
5. 复现隔离 新建最小 demo 工程逐步添加模块定位
文档 说明
RN-JS打包 JS打包流程
hvigorfile配置 Hvigor配置说明
构建与符号管理指南 构建与符号管理

推荐工作流: 粘贴错误堆栈 + 版本信息 + 设备型号 → AI 提供根因与补丁建议 → 提效 80%

FAQ

文档 说明
FAQ总览 常见问题汇总
编译类FAQ 编译相关问题
运行类FAQ 运行相关问题
规格类FAQ 规格相关问题
定位定界类FAQ 问题定位方法
使用类FAQ 使用相关问题

🤝 社区治理

文档 说明
开发者共建指南 共建流程指南
社区issue管理规范 Issue处理规范
社区commit和pr规范 Commit/PR规范
社区changelog规范 变更日志规范
仓库分支管理规范 分支管理规范
rnoh包管理规范 NPM包管理规范

社区交流

微信群:

chat

邮件列表:

待补充

Built with ❤️ by OpenHarmony React Native SIG

项目介绍

React Native鸿蒙化仓库

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

C++46.53%
TSX23.57%
TypeScript19.74%
ArkTS5.73%
JavaScript2.36%