我正在尝试使用react-localize-redux从JSON文件加载翻译,并且不断收到此错误。这对我来说还很新,如果这很明显,我深表歉意。从阅读文档可以看出,这种“应该”的工作是公平的吗?
translate.js
import { combineReducers, createStore } from 'redux'
import { localizeReducer, initialize, addTranslationForLanguage, getTranslate } from 'react-localize-redux'
import translationsEn from '../../../nls/en.json'
const localeStore = createStore(combineReducers({
locale: localizeReducer
}))
const languages = ['en']
localeStore.dispatch(initialize(languages))
localeStore.dispatch(addTranslationForLanguage(translationsEn, 'en'))
export default getTranslate(localeStore.getState().locale)
以及在我的组件中:
import translate from '../state/translate/translate'
...
<span className='node-output-schema__title'>{translate('outputSchema.title')}</span>
有什么想法可能出什么问题吗?
答案 0 :(得分:0)
由于未定义您的属性而引发此错误,因此请检查您的错误并获取确切的行(您可以在浏览器的控制台选项卡上找到该错误),并检查在那里使用了哪个属性,并检查是否在该位置填充了该属性没有填写您的财产,然后进行设置
答案 1 :(得分:0)
似乎您在这里混入了一些不同的框架。
本地化软件包称为-react-localize-redux。 但是在您的错误日志中,我可以看到您使用的是一些角度。
我也刚刚检查了react-localize-redux软件包中的文档,看来您使用的是过时的版本。 对我来说,只为您的应用提供一个Provider,然后使用更高阶的组件就足够了(从“ react-localize-redux”导入{withLocalize}; )
我也建议您使用此程序包,该程序包更易于处理(确实我自己将其用于项目中) react-18next(https://github.com/i18next/react-i18next)