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} />