轻便的传值组件
轻便的传值组件
// 父组件
import React, { useState } from "react";
import ShowData from './ShowData'
export default function Page() {
// 声明一堆数据
const [show, setshow] = useState(false)
const [title, settitle] = useState('')
const [data, setdata] = useState(null)
const [userInfo, setuserInfo] = useState(null)
const [isOwner, setisOwner] = useState(null)
// 弹框打开时传入数据
function showData(_title, _data, _userInfo, _isOwner) {
settitle(_title)
setdata(_data)
setuserInfo(_userInfo)
setisOwner(_isOwner)
setshow(true)
}
// 弹框关闭
function onClose(success) {
setshow(false)
}
return (
<div>
<button onClick={showData}>展示弹框</button>
<ShowData
show={show}
onClose={onClose}
title={title}
data={data}
userInfo={userInfo}
isOwner={isOwner}
/>
</div>
)
}
// 封装弹框组件
import { Modal } from 'antd'
export default function ShowData(show, onClose, title, data, userInfo, isOwner) {
return (
<Modal
title={title}
open={show}
onCancel={() => onClose(false)}>
展示的内容,可能用到props传进来的数据们
</Modal>
)
}Last updated