react-router-dom 的版本是 v6,我无法使用 Navigate 将值传递给另一个组件。
我想将选定的行传递到另一个名为 Report 的页面。但是,我不确定我是否使用了正确的navigate方法语法,而且我不知道如何在 Report 组件中获取该状态。
Material-ui 表:我正在尝试redirectToReport(rowData)在onClick参数中使用。
function TableRows(props){
return (
    <MaterialTable
        title="Leads"
        columns={[
            ...
        ]}
        data = {props.leads}       
        options={{
            selection: true,
            filtering: true,
            sorting: true
        }}
        actions = {[{
            position: "toolbarOnSelect",
            tooltip: 'Generate a report based on selected leads.',
            icon: 'addchart',
            onClick: (event, rowData) => {
                console.log("Row Data: " , rowData)
                props.redirect(rowData)
            }
        }]}
    />
)}
LeadTable 组件
export default function LeadTable(props) {
let navigate = useNavigate();
const [leads, setLeads] = useState([]);
const [loading, setLoading] = useState(true);    
async function fetchUrl(url) {
    const response = await fetch(url);
    const json = await response.json();
    setLeads(json[0]);
    setLoading(false);
}
useEffect(() => {
    fetchUrl("http://localhost:5000/api/leads");
}, []);
function redirectToReport(rowData) {
    navigate('/app/report', { state: rowData }); // ??? I'm not sure if this is the right way
}
return(
    <div>
        <TableRows leads={leads} redirect={redirectToReport}></TableRows>
    </div>
)}
报表组件
export default function ReportPage(state) {
return (
    <div>
        { console.log(state) // This doesn't show anything. How to use the state that were passed from Table component here?}
        <div className = "Top3">
          <h3>Top 3 Leads</h3>
            <ReportTop3 leads={[]} />
        </div>
    </div>
);}