在i18next中迭代数组

时间:2018-05-08 17:09:09

标签: react-native i18next react-i18next

有一种方法可以迭代并渲染字符串/对象数组的每个项目吗?

i18n
    .use(languageDetector)
    .use(reactI18nextModule)
    .init({
        fallbackLng: 'en',
        resources: {
            en: {
                home: {
                    data:[
                        {id:1,val:"Item1"},
                        {id:2,val:"Item2"},
                        {id:3,val:"Item3"},
                        {id:4,val:"Item4"}]
                },
            }
        }
});
组件中的

<FlatList
        data={t('home:data')} //--cannot do this
        keyExtractor={(item, index) => index}
        renderItem={({item}) => <Item>{item.val}</Item>}
/>

1 个答案:

答案 0 :(得分:1)

我找到了一种方法

<FlatList
    data={t('home:data', { returnObjects: true })}
    keyExtractor={(item, index) => index}
    renderItem={ ({item}) => <Text> {item.val}</Text>}
/>

FlatList将每个元素包装在item对象中  (https://facebook.github.io/react-native/docs/flatlist.html)。