我想使用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)
以上日志的结果:
现在我将上述数据传递到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
的标题?
查看以上代码的屏幕截图:
答案 0 :(得分:1)
根据SectionList
documentation,数据必须是specificationsData
中的数组。更新以下行:
newObj['data'] = [curValue.description];