问题标签 [react-intl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
react-intl - 使用 babel-plugin-react-intl 有什么好处?
我一直在努力学习和理解react-intl
图书馆,我遇到了babel-plugin-react-intl
图书馆。图书馆的页面上有这样的描述;
Extracts string messages for translation from modules that use React Intl.
我想知道将提取哪些字符串消息?
另外,提取消息有什么好处?
node.js - 在不使用 FormattedMessage 和 React ContextTypes 的情况下获取翻译文本
我正在寻找一种不使用 FormattedMessage 来获取翻译文本的方法。到现在为止,我发现只有这个解决方案提供了使用ContextTypes 和React 的实验特性。还有其他方法可以完成此任务(或其他库/npm 模块)吗?
reactjs - 使用 react-intl 处理缩写数字 + 复数
我希望能够将“1,000 辆汽车”之类的字符串显示为“1K 辆汽车”(如果适用于区域设置)。有没有办法使用react-intl来处理这个问题?
我仍在尝试围绕 API 进行思考,我不确定这是否是自定义格式化程序要处理的事情,如果是这样,我不清楚如何设置它。
谢谢!
reactjs - 当 React Element 作为 Prop 传递时防止重新渲染
在我的 React 应用程序中,我使用一些库(即 Material UI 和 React Intl)将 React 元素作为道具从更高级别的组件传递到具有一项工作的“哑组件”:渲染。
智能组件:
哑组件:
这样做的好处是,DumbComponent 不需要了解任何有关应用程序逻辑(材质 ui、国际化等)的信息。它只是渲染,让 SmartComponent 负责所有业务逻辑。
我遇到这种方法的缺点是性能:DumbComponent总是会重新渲染,即使 AnotherDumbComponent 的 props 改变而不是它自己的,因为shouldComponentUpdate
总是返回true
。shouldComponentUpdate
在上面的示例中,无法在 React 元素之间进行准确的相等性检查。
如何对 React 元素进行相等检查shouldComponentUpdate
?这是否太昂贵而无法执行?将 React 元素作为道具传递给哑组件是一个坏主意吗?是否可以不将 React 元素作为道具传递,但让组件保持哑巴?谢谢!
string-formatting - 本地化货币范围
formatjs 和 javascript 的原生组合Intl.NumberFormat()
支持将数字格式化为各种文化和单位中的货币。但是如何将一系列货币格式化为$1,000.00 - 5000.00
.
在不重复符号的情况下,它通常在哪里以及如何显示?
使用react-intl
:
这将显示$1,000.00 - $5000.00
哪些不符合我的设计规范。从第二个值中去除货币符号似乎是一种骇人听闻的策略,因为我不应该/不能轻易知道要去除的符号。
像常规小数一样格式化是严格不正确的 - 货币规则根据货币规定“小单位”的不同位数。
我不知道,如果货币符号显示在文化的末尾而不是开头呢?(会发生这种情况吗?)
reactjs - 在 redux state 的 locale 更新后重新渲染 React 组件
我已经Redux
在我的React
应用程序中实现了,到目前为止效果很好,但我有一个小问题。
我的导航栏中有一个选项可以更改locale
存储在redux's state
. 当我更改它时,我希望每个组件都重新渲染以更改转导。为此,我必须指定
locale: state.locale
在mapStateToProps
函数中......这导致了大量的代码重复。
有没有办法将 locale 隐式传递到每个组件的 propsconnect
中react-redux
?
提前致谢!
reactjs - 动态获取 .js 文件而不是导入它们
我有一个支持 30 多种语言的小应用程序。我曾经react-intl
完成我的任务。在react-intl
我必须导入每个本地文件大约 7-8kbs 的每个语言环境,而我想减少这些不必要的导入并且只想导入一个文件
app.js
现在ca
,cs
等hu
包含array of objects
从各自js
文件返回的内容。
我尝试使用 XHR,但没有返回对象数组,而是获得了 .js 文件中编写的代码。有什么方法可以动态导入 js 文件,或者是否可以从 XMLHttpRequest 返回的代码中获取对象数组。
Translations.js
javascript - 如何在javascript中获取所有时区的列表
我正在使用 react/redux 开发应用程序,并开始使用库react-intl来格式化消息和日期。
我已经能够在<FormattedDate>
标签中显示它使用的时区。
我想选择所有可能存在的时区,因此当用户选择一个时区时,<FormattedDate>
会自动更改为该格式。
我找不到如何使用 react-intl 列出所有可能的时区。
我也在谷歌搜索过,我没有找到任何内置的 javascript 函数可以做到这一点。
是这样吗?我怎样才能获得该列表?
注意:不要认为它是同一个问题,因为我不想使用外部库,如果可能的话,如果它是唯一的解决方案,那么我将不得不以这种方式处理......:/
polyfills - 使用 polyfill 添加不支持的浏览器功能
我正在开发一个应用程序,目前正在部署过程中。该应用程序正在使用来自 yahoo here的 react-intl 功能。我注意到一个提到 polyfill
我被告知要将该功能添加到不支持它们的浏览器中。到目前为止,这适用于我们测试的所有设备。我的手机、安卓设备等。但是,此功能在 ipod 设备上失败。无论 ios 版本如何,我测试的所有 ipod 设备都无法识别该功能,因此我们的应用程序失败了。请问为什么其他设备 iphone、android 等支持此功能而只有 ipod 不支持。有没有人在移动设备上遇到过类似的 polyfill 问题?如何让 ipod 设备像其他设备一样支持此功能?我在引用的时候做错了什么?任何帮助,将不胜感激。
reactjs - React-intl:FormttedMessage 不会显示 0,但会显示任何数字
我有一个列表,我需要显示没有。列表中的元素。我用过<FormattedMessage>
,一切都很好,但是当列表大小为 时0
,<FormattedMessage>
什么都不显示。它适用于否定(如果我对其进行硬编码)和肯定(如果列表有成员),但如果为 0,则不显示任何内容。