如何在本地响应中全局声明字符串

时间:2017-04-25 06:32:07

标签: android string react-native

我的react-native应用程序中有很多字符串。我看到一些字符串正在多个地方使用。 IMO我不想在我的代码中硬编码字符串,因为这不是好方法。如果项目大规模进行,可能需要很长时间才能在多个位置更改相同的字符串。

什么方法是声明反应原生应用程序的字符串。我做了strings.xml

的android开发
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string
        name="string_name"
        >text_string</string>
</resources>

我在JS文件中做了什么。

<Text style={{ fontSize: 22, textAlign: "center" }}>
  Never forget to stay in touch with the people that matter to you.
</Text>

2 个答案:

答案 0 :(得分:6)

React Native中的字符串没有专门的资源管理器,就像Android中一样。 您可以将一个包含所有这些常量的文件导出,并将其导入到您需要的任何位置。 这些方面的东西:

**** constants.js

export const NeverForget = 'Never forget to stay in touch with the people that matter to you.';
export const OtherString = 'Welcome to the app';

**** Usage:

import { NeverForget } from 'app/constants';

...
<Text style={{ fontSize: 22, textAlign: "center" }}>
  { NeverForget }
</Text>

**** Or

import * as constants from 'app/constants';

...
<Text style={{ fontSize: 22, textAlign: "center" }}>
  { constants.NeverForget }
</Text>

答案 1 :(得分:0)

https://github.com/AlexanderZaytsev/react-native-i18n

我个人会使用这个库为您的全局字符串设置管理器,因为如果您的应用程序可扩展,它还可以在以后控制翻译。设置也很简单。