React native 如何在react native中将项目数据传递到模式中

React native 如何在react native中将项目数据传递到模式中,react-native,modal-dialog,React Native,Modal Dialog,我有一个列表数据,我想在选择项时显示带有详细数据的模式 const [isModal, setModal] = useState(false) const [idBasic, setIdBasic] = useState() const showModalBasic = (id) => { setModal(true), setIdBasic(id) } const [data, setData] = useState([ { id: "

我有一个列表数据,我想在选择项时显示带有详细数据的模式

const [isModal, setModal] = useState(false)
const [idBasic, setIdBasic] = useState()

  const showModalBasic = (id) => {
    setModal(true), setIdBasic(id)
  }

  const [data, setData] = useState([
    {
      id: "BIKD31",
      name: "BI KD 3.1",
      desc:
        "Mencermati gagasan pokok dan gagasan pendukung yang diperoleh dari teks lisan, tulis, atau visual;",
    },
    {
      id: "BIKD41",
      name: "BI KD 4.1",
      desc:
        "Mencermati gagasan pokok dan gagasan pendukung yang diperoleh dari teks lisan, tulis, atau visual;",
    },
    {
      id: "BIKD32",
      name: "BI KD 3.2",
      desc:
        "Mencermati gagasan pokok dan gagasan pendukung yang diperoleh dari teks lisan, tulis, atau visual;",
    },
    {
      id: "BIKD42",
      name: "BI KD 4.2",
      desc:
        "Mencermati gagasan pokok dan gagasan pendukung yang diperoleh dari teks lisan, tulis, atau visual;",
    },
    {
      id: "BIKD33",
      name: "BI KD 3.3",
      desc:
        "Mencermati gagasan pokok dan gagasan pendukung yang diperoleh dari teks lisan, tulis, atau visual;",
    },
  ])

<FlatList
        data={data}
        renderItem={({ item }) => {
          if (!item) return null

          return (
            <TouchableOpacity
              style={{
                flexDirection: "row",
                justifyContent: "space-between",
                alignItems: "center",
                backgroundColor: theme.colors.surface,
                paddingHorizontal: 20,
                paddingVertical: 16,
                borderBottomWidth: 1,
                borderBottomColor: Colors.GREY_LIGHT,
              }}
              onPress={() => {
                showModalBasic(item.id)
              }}
              // onPress={handleChooseOrgTypePress(item.name)}
            >
              <View>
                <Text style={{ ...theme.fonts.bold }}>{item.name}</Text>
                <Text
                  style={{
                    ...theme.fonts.medium,
                    marginTop: 4,
                    fontSize: 12,
                    color: Colors.GRAY_DARK,
                  }}>
                  {`${item.desc.substr(0, 45)}...`}
                </Text>
              </View>
              <MaterialIcons
                name={item.id === isChoosen ? "check" : "chevron-right"}
                size={20}
                color={
                  item.id === isChoosen
                    ? theme.colors.primary
                    : Colors.GRAY_DARK
                }
                style={{ position: "absolute", right: 15, zIndex: 2 }}
              />
            </TouchableOpacity>
          )
        }}
        keyExtractor={(item) => item.id}
        showsVerticalScrollIndicator={false}
      />
      <ModalBasic visible={isModal} id={setIdBasic} />

const[isModal,setModal]=useState(false)
常量[idBasic,setIdBasic]=useState()
常量showModalBasic=(id)=>{
setModal(true)、setIdBasic(id)
}
const[data,setData]=useState([
{
id:“BIKD31”,
名称:“BI KD 3.1”,
描述:
“任何人都可以在视觉、图利斯、或其他领域获得成功;”,
},
{
id:“BIKD41”,
名称:“BI KD 4.1”,
描述:
“任何人都可以在视觉、图利斯、或其他领域获得成功;”,
},
{
id:“BIKD32”,
名称:“BI KD 3.2”,
描述:
“任何人都可以在视觉、图利斯、或其他领域获得成功;”,
},
{
id:“BIKD42”,
名称:“BI KD 4.2”,
描述:
“任何人都可以在视觉、图利斯、或其他领域获得成功;”,
},
{
id:“BIKD33”,
名称:“BI KD 3.3”,
描述:
“任何人都可以在视觉、图利斯、或其他领域获得成功;”,
},
])
{
如果(!item)返回null
返回(
{
showModalBasic(项目id)
}}
//onPress={handleChooseOrgTypePress(item.name)}
>
{item.name}
{`${item.desc.substr(0,45)}…`}
)
}}
keyExtractor={(项)=>item.id}
showsVerticalScrollIndicator={false}
/>

这是一个用于显示模式的渲染项和函数的文件,我不知道如何将数据传递到组件“ModalBasic”,因为我不使用导航,如果我使用模式显示的导航,也许我可以,但是我可以用导航显示模式,还是必须用useState将数据传递给模式?

您传递的是id状态更新程序函数,而不是id状态

您可以检查工作示例


您正在传递id状态更新程序函数,而不是id状态

您可以检查工作示例



谢谢您的帮助,我可以问其他人吗@Prateek ThapaThank谢谢你的帮助,我可以向其他人求助吗@普拉蒂克·塔帕
 <ModalBasic visible={isModal} id={idBasic} />