【公众号搬运】React-Native开发鸿蒙NEXT(5)
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { line-height: 1.5; margin-top: 35px; margin-bottom: 10px; padding-bottom: 5px }
.markdown-body h1 { font-size: 24px; line-height: 38px; margin-bottom: 5px }
.markdown-body h2 { font-size: 22px; line-height: 34px; padding-bottom: 12px; border-bottom: 1px solid rgba(236, 236, 236, 1) }
.markdown-body h3 { font-size: 20px; line-height: 28px }
.markdown-body h4 { font-size: 18px; line-height: 26px }
.markdown-body h5 { font-size: 17px; line-height: 24px }
.markdown-body h6 { font-size: 16px; line-height: 24px }
.markdown-body p { line-height: inherit; margin-top: 22px; margin-bottom: 22px }
.markdown-body img { max-width: 100% }
.markdown-body hr { border-top: 1px solid rgba(221, 221, 221, 1); border-right: none; border-bottom: none; border-left: none; margin-top: 32px; margin-bottom: 32px }
.markdown-body code { border-radius: 2px; overflow-x: auto; background-color: rgba(255, 245, 245, 1); color: rgba(255, 80, 44, 1); font-size: 0.87em; padding: 0.065em 0.4em }
.markdown-body code, .markdown-body pre { font-family: Menlo, Monaco, Consolas, Courier New, monospace }
.markdown-body pre { overflow: auto; position: relative; line-height: 1.75 }
.markdown-body pre>code { font-size: 12px; padding: 15px 12px; margin: 0; word-break: normal; display: block; overflow-x: auto; color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.markdown-body a { text-decoration: none; color: rgba(2, 105, 200, 1); border-bottom: 1px solid rgba(209, 233, 255, 1) }
.markdown-body a:active, .markdown-body a:hover { color: rgba(39, 91, 140, 1) }
.markdown-body table { display: inline-block !important; font-size: 12px; width: auto; max-width: 100%; overflow: auto; border: 1px solid rgba(246, 246, 246, 1) }
.markdown-body thead { background: rgba(246, 246, 246, 1); color: rgba(0, 0, 0, 1); text-align: left }
.markdown-body tr:nth-child(2n) { background-color: rgba(252, 252, 252, 1) }
.markdown-body td, .markdown-body th { padding: 12px 7px; line-height: 24px }
.markdown-body td { min-width: 120px }
.markdown-body blockquote { color: rgba(102, 102, 102, 1); padding: 1px 23px; margin: 22px 0; border-left: 4px solid rgba(203, 203, 203, 1); background-color: rgba(248, 248, 248, 1) }
.markdown-body blockquote:after { display: block; content: "" }
.markdown-body blockquote>p { margin: 10px 0 }
.markdown-body ol, .markdown-body ul { padding-left: 28px }
.markdown-body ol li, .markdown-body ul li { margin-bottom: 0; list-style: inherit }
.markdown-body ol li .task-list-item, .markdown-body ul li .task-list-item { list-style: none }
.markdown-body ol li .task-list-item ol, .markdown-body ol li .task-list-item ul, .markdown-body ul li .task-list-item ol, .markdown-body ul li .task-list-item ul { margin-top: 0 }
.markdown-body ol ol, .markdown-body ol ul, .markdown-body ul ol, .markdown-body ul ul { margin-top: 3px }
.markdown-body ol li { padding-left: 6px }
.markdown-body .contains-task-list { padding-left: 0 }
.markdown-body .task-list-item { list-style: none }
@media (max-width: 720px) { .markdown-body h1 { font-size: 24px } .markdown-body h2 { font-size: 20px } .markdown-body h3 { font-size: 18px } }.markdown-body pre, .markdown-body pre>code.hljs { color: rgba(51, 51, 51, 1); background: rgba(248, 248, 248, 1) }
.hljs-comment, .hljs-quote { color: rgba(153, 153, 136, 1); font-style: italic }
.hljs-keyword, .hljs-selector-tag, .hljs-subst { color: rgba(51, 51, 51, 1); font-weight: 700 }
.hljs-literal, .hljs-number, .hljs-tag .hljs-attr, .hljs-template-variable, .hljs-variable { color: rgba(0, 128, 128, 1) }
.hljs-doctag, .hljs-string { color: rgba(221, 17, 68, 1) }
.hljs-section, .hljs-selector-id, .hljs-title { color: rgba(153, 0, 0, 1); font-weight: 700 }
.hljs-subst { font-weight: 400 }
.hljs-class .hljs-title, .hljs-type { color: rgba(68, 85, 136, 1); font-weight: 700 }
.hljs-attribute, .hljs-name, .hljs-tag { color: rgba(0, 0, 128, 1); font-weight: 400 }
.hljs-link, .hljs-regexp { color: rgba(0, 153, 38, 1) }
.hljs-bullet, .hljs-symbol { color: rgba(153, 0, 115, 1) }
.hljs-built_in, .hljs-builtin-name { color: rgba(0, 134, 179, 1) }
.hljs-meta { color: rgba(153, 153, 153, 1); font-weight: 700 }
.hljs-deletion { background: rgba(255, 221, 221, 1) }
.hljs-addition { background: rgba(221, 255, 221, 1) }
.hljs-emphasis { font-style: italic }
.hljs-strong { font-weight: 700 }
React-Native开发鸿蒙NEXT(5)
原创 悬空八只脚 悬空八只脚 2024年08月21日 17:55 江苏
RN的开发也算是把功能基本做出来了,现在想着先收一收,把已知的几个问题解决下,8月能提个版本给遥遥领先。几个问题,有些跟鸿蒙没有什么关系,都是自己RN水平有限,自己给自己挖的坑。不管是已解决还是未解决的,都记录下
- RN里因为页面多次刷新导致的消息多次收到。
这个可以100%确定是自己开发的锅,因为不是所有页面都有这毛病。出问题的页面上有大概40个state变量,页面的频繁刷新导致了问题。现在的办法比较粗暴,一方面把通知里面调用后台查询的逻辑去掉,放到root.tsx页面全局统一去做,另一方面靠global变量,做了防抖,尽量减小少触发次数,最终实现最多一秒触发一次。就这样临时把漏洞堵住先。先开发完能打包测试,后续再优化。
- 部分接口调用报错,提示签名无效
这个问题着实摆了我一道。恶心就恶心在部分接口。兜兜转转,直到把以前的旧工程在另一台笔记本上跑起来,一对比参数没什么区别,这下终于怀疑是md5计算的第三方了。没法子,换成以前用的依赖,md5计算这种都是纯js,鸿不鸿蒙化应该没有什么区别。然后就都正常了。现在推断可能是带中文的字符串md5计算有问题,至少发现的几个接口都会传递中文。之前用的md5是鸿蒙三方库里的react-native-md5,问题就出在这个依赖的计算上。换成鸿蒙化前用的md5就解决了。有点折腾人。
- 鸿蒙下OSS上传
目前这个问题尚未解决。OSS在鸿蒙没有相关的SDK,只能用web方式来上传。后台开发的上传接口会报错,还在排查。
- Keyboard无法监听
监听键盘无效,无法实现输入框的自动调整高度,现在存在被键盘遮挡的问题。已经联系鸿蒙去提单子跟进了。除了自己开发,也尝试了使用
react-native-keyboard-aware-scroll-view";同样无效(后来发现这三方也是靠监听键盘来实现的。。。)
- 打包提测
之所以列出来是目前还都是本地开发,没打包运行过。想着处理完OSS上传的事再打包。
目前基本就这么多,剩下的都是开发量的问题,比如首页现在下部的社区内容还光着呢。接着干呗,天快亮了。
为了冰美式,冲。
更多内容可关注
我的公众号悬空八只脚
【公众号搬运】React-Native开发鸿蒙NEXT(5)的更多相关文章
- React Native开发 - 搭建React Native开发环境
移动开发以前一般都是原生的语言来开发,Android开发是用Java语言,IOS的开发是Object-C或者Swift.那么对于开发一个App,至少需要两套代码.两个团队.对于公司来说,成本还是有的. ...
- React Native 开发笔记
ReactNativeDemo 学习ReactNative开发,搭建ReactNative第一个项目 React Native 开发笔记 1.安装Homebrew $ /usr/bin/ruby -e ...
- React Native开发入门
目录: 一.前言 二.什么是React Native 三.开发环境搭建 四.预备知识 五.最简单的React Native小程序 六.总结 七.参考资料 一.前言 虽然只是简单的了解了一下Reac ...
- React Native开发技术周报2
(1).资讯 1.React Native 0.22_rc版本发布 添加了热自动重载功能 (2).技术文章 1.用 React Native 设计的第一个 iOS 应用 我们想为用户设计一款移动端的应 ...
- React Native开发技术周报1
(一).资讯 1.React Native 0.21版本发布,最新版本功能特点,修复的Bug可以看一下已翻译 重要:如果升级 Android 项目到这个版本一定要读! 我们简化了 Android 应用 ...
- DECO 一个REACT NAtive 开发IDE工具
DECO 一个REACT NAtive 开发IDE工具. 目前只支持 OS,NO WINDOWS https://www.decosoftware.com/ 一个方便的快速 ERXPRESS 教程:h ...
- React Native 开发之 (02) 用Sublime 3作为React Native的开发IDE
Sublime Text是一个代码编辑器.也是HTML和散文先进的文本编辑器.漂亮的用户界面和非凡的功能,例如:迷你地图,多选择Python插件,代码段等等.完全可自定义键绑定,菜单和工具栏等等.漂亮 ...
- 【转】【React Native开发】
[React Native开发]React Native控件之ListView组件讲解以及最齐全实例(19) [React Native开发]React Native控件之Touchable*系列组 ...
- React Native开发的通讯录应用
React Native开发的通讯录应用(使用JavaScript开发原生iOS应用,vczero) 0.前言: 项目地址:https://github.com/vczero/React-Native ...
- iOS程序员的React Native开发工具集
本文整理了React Native iOS开发过程中有用的工具.服务.测试.库以及网站等. 工具 你可以选择不同的开发环境:DECO.EXPO或者你可以使用Nuclide+Atom,目前我使用EXPO ...
随机推荐
- Flink学习(十五) 滑动事件时间窗口加上水位线开始窗口时间如何确定?(底层源码)
先看上一节的代码程序 package com.wyh.windowsApi import org.apache.flink.streaming.api.TimeCharacteristic impor ...
- Sqoop增量导入注意事项 incremental lastmodified与target-dir连用报错 Imported Failed: Wrong FS
这里引用一篇博客 写的很好 https://blog.csdn.net/C_time/article/details/101109071
- 【论文随笔】会话推荐系统综述(A Survey on Conversational Recommender Systems)
前言 今天读的论文为一篇于2021年5月发表在<ACM计算机调查>(ACM Computing Surveys)的论文,文章提供了对话式推荐系统(CRS)的全面综述,探讨了CRS的定义.概 ...
- 咨询公司:趁着AI人工智能的浪潮还能持续,好好享受吧……
在人工生成式智能热潮的喧嚣与狂热之中,咨询行业正经历一场基本未被察觉却极具变革性的革命,这场变革将塑造它的未来. 传统咨询依赖于由高素质专业人士组成的团队,他们专注于研究.数据分析,并提供定制化建议. ...
- 震惊!AI编程正在淘汰这5类人,你在其中吗?
大家好,我是狂师. 今天在知乎上看到一个关于讨论:"人工智能大爆发,AI编程工具对程序员到底是颠覆还是辅助?'"问题,觉得蛮有意思.的确,AI编程的出现,引发了人们对于程序员职业未 ...
- Windows和Ubuntu间TCP连接测试
起因是想在Ubuntu上用Synergy,但是发现爱你怎么都连不上.鼓捣了半天发现似乎Ubuntu监听,Windows测试TCP连接总是不成功,反之却能成功,大概问题就在这,尚未解决先记录一下. 基本 ...
- [Qt 基础-03] QRadioButton
QRadioButton基础 本文主要根据QT官方帮助文档以及日常使用,简单的介绍一下QRadioButton的功能以及使用 文章目录 QRadioButton基础 简介 autoExclusive ...
- SpringBoot+Hutool 文件导出Excel
Hutool-poi是针对Apache POI的封装,因此需要用户自行引入POI库,Hutool默认不引入.到目前为止,Hutool-poi支持: Excel文件(xls, xlsx)的读取(Exce ...
- 软件测试_Fiddler抓包工具
多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...
- delphi 让执行程序不在任务栏显示
Application.MainFormOnTaskbar := False; procedure TForm1.FormShow(Sender: TObject); begin ShowWindow ...