You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native导入localized-strings对象报错:Undefined is not an object

解决React Native中localized-strings导入undefined的问题

嘿,我明白你遇到的问题啦!这个错误的根源是变量声明和导出的顺序搞反了。

你看,在你的SharedStrings.js里,你先写了export default SharedStrings;,但这时候SharedStrings变量还没被定义呢!JavaScript代码是从上到下执行的,所以这行export导出的其实是undefined,当HomeScreen组件导入它的时候,自然就找不到.next属性了。

修正后的SharedStrings.js代码

只需要把导出语句放在变量创建之后就行,或者直接在创建实例的时候导出:

import LocalizedStrings from 'localized-strings';

// 先创建SharedStrings实例
let SharedStrings = new LocalizedStrings({
  en: { back: 'Back', next: 'Next', skip: 'Skip' },
  fi: { back: 'Takaisin', next: 'Seuraava', skip: 'Hyppiä' },
  sw: { back: 'Tillbaka', next: 'Nästa', skip: 'Hoppa' },
  de: { back: 'Zurück', next: 'Nächster', skip: 'Überspringen' }
});

// 再导出它
export default SharedStrings;

或者更简洁的写法,直接导出实例:

import LocalizedStrings from 'localized-strings';

export default new LocalizedStrings({
  en: { back: 'Back', next: 'Next', skip: 'Skip' },
  fi: { back: 'Takaisin', next: 'Seuraava', skip: 'Hyppiä' },
  sw: { back: 'Tillbaka', next: 'Nästa', skip: 'Hoppa' },
  de: { back: 'Zurück', next: 'Nächster', skip: 'Überspringen' }
});

验证你的HomeScreen代码

你的HomeScreen.js里的导入和使用是完全正确的,修正SharedStrings.js之后,再运行Expo就可以正常显示翻译文本啦!

内容的提问来源于stack exchange,提问作者mcgtrt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:42:27