如何在react native中使用sectionList显示数据?

时间:2018-10-20 17:41:40

标签: javascript reactjs react-native

我想使用react native中的List部分显示数据。我正在使用reduce()提取数据,但是我无法理解为什么我得到未定义的行为,例如请提供html或uri作为react native render html的支持。

我想将sectionList项目显示为HTML内容,SectionList的标题是specificationsData的标题。

const specificationsData = specifications.reduce( (acc, curValue) => {

            if (curValue.title !== undefined && curValue.description !== undefined){

                let newObj = {};

                newObj['data'] = curValue.description;

                newObj['title'] = curValue.title;

                console.log(curValue.title)

                acc.push(newObj);

                return acc;
            }

        }, []);

        console.log(specificationsData)

以上日志的结果:

enter image description here

现在我将上述数据传递到SectionList中:

import HTMLView from 'react-native-render-html';

<SectionList
                    renderItem={({item, index, section}) => <HTMLView key={index} value={item}/>}
                    renderSectionHeader={({section: {title}}) => (
                        <Text style={{fontWeight: 'bold', color: 'red'}}>{title}</Text>
                    )}
                    sections={specificationsData}
                    keyExtractor={(item, index) => item + index}
                />

如何通过传递sectionList来传递显示数据和specificationsData的标题?

查看以上代码的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

根据SectionList documentation,数据必须是specificationsData中的数组。更新以下行:

newObj['data'] = [curValue.description];