当我导出我的数组,我只能列出我的数组的最后一项- React Native



目前我正在制作一个单词测试应用程序。我找到了一个数据库,并在我的数组中添加了所有项目。

下面是我的代码:
import React from 'react';
import Navigator from './routes/menuStack';
export const N5Words = [];
export default function App(){
var RNFS = require('react-native-fs');
RNFS.readFileAssets('N5.txt', 'utf8')
.then((contents) => {
let allWords = contents.split('n');
let word = { key: 0, japanese: 'japanese', kana: 'kana', turkish: 'turkish' }
for (var i = 0; i < allWords.length; i++){
let splittedRow = allWords[i].split('t');
word.key = i;
word.japanese = splittedRow[0].toString();
word.kana = splittedRow[1].toString();
word.turkish = splittedRow[2].toString();
N5Words.push(word);
}
})

return(
<Navigator/>
);
}

我想在其他脚本中使用这个数组。因此,我在另一个脚本上编写了下面的代码:

import React from 'react';
import {StyleSheet, View, Text, Button, ScrollView} from 'react-native';
import { globalStyles } from '../styles/global';
import { N5Words } from '../App';
export default function KelimeTesti({ navigation }){
return (
<View style={globalStyles.container}>
<Text style={globalStyles.smallText}>You're in Kelime Testi</Text>

<ScrollView>
{ N5Words.map((word) => {
return (
<View key={word.key}>
<Text style={globalStyles.smallText}>{word.japanese}</Text>
</View>
)
})}
</ScrollView>
</View>
)
}

但是它不起作用。当我导出数组并在另一个脚本中使用该数组时,只列出脚本的最后一项。

代码输出

第一个代码没有问题。我检查了控制台的项目,它正确地读取了所有的单词,它们有唯一的id,从0到668。

我得到这个错误668次(对于每个单词):

错误图像

这就是我的数据库的样子:

会う  あう  to meet
青   あお  blue
青い  あおい blue
赤   あか  red
赤い  あかい red
明い  あかるい    bright
秋   あき  autumn
開く  あく  to open,to become open
開ける あける to open
上げる あげる to give
朝   あさ  morning

我解决了这个问题。我写这篇文章的目的是为了解决这个问题。而不是导出和导入数据库数组,我发送它与导航参数。我用getParam方法得到数组。

在列出数组时,我同时使用了map()函数和平面列表。我无法列出项目,因为我得到一个"未定义不是对象"的错误。我也解决了这个问题。我用的是一个叫做"word"的变量就像我的问题一样。我把它改成了"item"。就是这样。我想我们不能使用其他变量名除了& item">

相关内容

  • 没有找到相关文章

最新更新