首页 > 解决方案 > 如何在数组中表示书籍内容

问题描述

我有一组信息,我想在一个数组中表示,然后将它们拉到一个反应原生的平面列表中,但我不知道如何去做。

基本上,有不同的标题和字幕,每个字幕都有一个内容。我想映射列表并显示它们。

在此处输入图像描述

以下是我到目前为止的代码,但它似乎不起作用。

const NigLawList= ({navigation}) => {
  const [people, setPeople] = useState([
      {Law: "Evidence Act", id: "1",
      part:[ {name: "Title one", meaning: "Content is here"},
      {name: "Title 2", meaning: " Content is here"}
      
    ]

},
])

标签: javascriptarraysreactjsreact-nativereact-native-flatlist

解决方案


试试这种方式

const [data, setData] = useState([{"Law":"Evidence Act","id":"1","part":[{"name":"Title one","meaning":"Content is here"},{"name":"Title 2","meaning":"Content is here"}]}]);

renderSubtitleAndContent = (parts) => {
    return parts.map(part => {
      return (
        <View>
          <Text>{part.name}</Text> <-- Subtitle here -->
          <Text>{part.meaning}</Text> <-- Content here -->
        </View>
      );
    });
 };

<FlatList
        data={data}
        renderItem={({ item }) => (
          <Text>{item.Law}.</Text> <-- title here -->
          {this.renderSubtitleAndContent(item.parts)} <-- render Subtitle And Content -->
        )}
/>

推荐阅读