问题所在
如果说大多数反应式原生应用程序有一个共同点,那就是它们如何显示文本。一些简单的应用显示得很少,但大多数应用显示得很多。这就是为什么要建立一个正确的系统,以确保在你的应用程序中添加和重构文本尽可能的简单。
现在,你可能会想--我为什么要读一篇关于如何管理这样一个简单组件的文章?
它只是文本,对吗?是的,但更多的时候,你需要对上述文本应用样式和属性,使其看起来像你想要的那样。
当你必须为你的应用程序中的所有文本做这些工作时,它就会增加。当然,这就引出了一个问题--我怎样才能减少代码的重复量?
多年来,我在解决这个问题上做了不少尝试,最后我可以说,我找到了一个让我相当满意的解决方案。
解决方案
这个解决方案非常简单,但它是基于遵循最佳用户界面实践。我的意思是什么?为标题、段落和其他你可能需要的文本提供预定义的样式。
重要的是,你的应用程序的所有文本都属于这些定义中的一种,而且数量不会失控。
保持简短的定义数量是很好的,这样在编码时更容易记住该放什么,而且你的应用程序在各自的风格上是一致的,这反过来又给你的可用性和可访问性加分。
不多说了,这里是上述的组件和补充文件的代码。
在Gist上查看该代码
一旦你把所有这些都准备好了,你就可以简单地导入该组件,并按以下方式使用它。
在Gist上查看代码
就这么简单,通常情况下,只有在需要添加间距、颜色或包装时,你才需要对某个特定的文本组件实例应用额外的样式。
从网络上获取文本组件的命名惯例和层次结构,使得它非常容易理解和记忆。
正如你可能已经注意到的,通过使用prop-types,当你在上述组件的实例上设置一个类型时,很容易注意到你是否拼错了。
虽然在你的React Native项目中添加自定义字体不在本文的讨论范围内,但你可能会发现这篇文章很有用,我们在那里讨论了这个确切的主题。
总结
正如你所看到的,这个解决方案是非常干净和简单的,但它解决了一个组件的问题,这个问题是如此的基本,以至于它也经常被忽视了。
在这些构成我们应用程序核心DNA的组件上花点时间和心思,可以起到很大的作用。
我希望你觉得这篇文章对你有帮助,并希望你最终能在你的项目中有效地实施这个解决方案。