我想把一些属性(loading和getContacts)发送给ReactJS中的一个组件。我使用路由来获取每个路径,但是目标组件中的结果是undefined。这是怎么回事?
const App = () => {
const [getContacts , setContacts] = useState([]);
const [loading , setLoading] = useState(false);
return(
<div className='App'>
<Navbar/>
<Routes>
<Route path='/' element = {<Navigate to ="/contacts"/>}/>
<Route path='/contacts' loading= {loading} contacts= {getContacts} element= {<Contacts/>} />
<Route path="/contacts/add" element = {<AddContact/>}/>
<Route path = "/contacts/:contactId" element = {<ViewContact/>}/>
<Route path = "/contacts/edit/:contactId" element = {<EditContact/>}/>
<Route path="*" element={
<div className='text-light py-5'>
Not Found!
</div>}
/>
</Routes>
</div>
);
export default App;
在Contact.jsx中,我有:
const Contacts = ({ contacts, loading }) => {
return (
<>
<div>{contacts}</div>
<div>{loading}</div>
</>
);
};
export default Contacts;
但是它们都是undefined。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你正在将props传递给你的
<Route/>组件。<Route path="/contacts" loading={loading} contacts={getContacts} element={<Contacts />} />但是你应该将它们传递给你的实际
<Contacts/>组件<Route path="/contacts" element={<Contacts loading={loading} contacts={getContacts} />} />尝试将状态变量直接放入子元素中:
<Route path='/contacts' element={<Contacts loading={loading} contacts={getContacts}/>} />