likes
comments
collection
share

[react-native]本地化社区datepicker与PR

作者站长头像
站长
· 阅读数 12

前言

--能抹平android和ios时间选择器的差异化吗,还有这个android操作逻辑有点复杂,还丑的一笔,老板如是说

!!!

老板说是啥就是啥,立即开干

之前的时间选择器用的社区的mmazzarolo/react-native-modal-datetime-picker

选用原因很简单,star多。缺点也确实是android ios 都调的原生组件渲染的,ui差异较大。android操作逻辑复杂。

效果如图

[react-native]本地化社区datepicker与PR

找到目标库

重复造轮子也太傻了,还是接着找社区库吧,于是在github 找了一下,发现了这么一个库

HosseinShabani/react-native-modern-datepicker

看了一下文档,嗯,ui还是符合预期的,唯一的问题就是不支持中文,以及开发者好像很久没维护了

[react-native]本地化社区datepicker与PR

上次维护还是2020年,不过ui符合就好了

检查兼容性问题

安装了库,测试了下可用问题,在 react-native > 0.72时是可用的

添加本地化

因为没有中文肯定就只有自己去添加本地化了,一开始想用patch-package打个补丁直接用就好了,但是想着这个正好可以提pr,就自己拉项目改了。

首先检查下有没有可用的PR,但是作者未合并,翻了下pr列表,并没有可用的中文本地化支持。但是有个PR添加一些其他语言的支持,贡献者是@CarrionB

HosseinShabani/react-native-modern-datepicker: A customizable calendar, time & month picker for React Native (including Persian Jalaali calendar & locale) (github.com)

查看该fork分支代码,发现可以用,然后就决定在该分支上fork

[react-native]本地化社区datepicker与PR

然后修改代码,添加对zh-cn 的支持,提交代码

最后提交PR

[react-native]本地化社区datepicker与PR

看了下readme,没有看到有提交准则,就正常PR,但是估计作者也不会合并,毕竟已经没维护了嘛!

在项目中使用

因为没有提交yarn、npm的想法,就直接拉仓库作为依赖了

在package.json中添加

    "react-native-modern-datepicker": "git+https://github.com/MshengYang/react-native-modern-datepicker.git",

然后执行yarn就可以引用了。

如果你想使用的话请fork一个自己的仓库,因为不保证以后不会改~

查看效果

[react-native]本地化社区datepicker与PR [react-native]本地化社区datepicker与PR

如果觉得本篇文章对你有用,给个赞吧!请勿转载