我有兩個組件,我想將資料從其他組件傳遞給組件。我正在嘗試使用此代碼,但出現此錯誤:
未捕獲的型別錯誤:無法讀取未定義的屬性(讀取“引數”)
它正在發送資料,但發送的是空的。我該如何解決這個問題?
前端布局.js
import Profile from '../../Views/profile'
const [user, setUser] = useState({});
return (
<>
<Profile values={user} />
</>
)
索引.js
import Layout from "../../Components/layouts/front.layout";
const Profile = (props) => {
const { params } = props.match;
.
.
.
}
uj5u.com熱心網友回復:
這里有幾點需要注意:
下面user以一個空物件開始,所以你不能從中解構。
const [user, setUser] = useState({});
然后,您傳遞名為 的道具values,其值為user。
因此,在您的容器中,您可以為 params 設定默認值。
const [user, setUser] = useState({ params: {} });
然后在您的組件中,您可以對其進行解構(從prop.values)
const Profile = (props) => {
const { params } = props.values;
.
.
.
}
uj5u.com熱心網友回復:
你需要用 withRouter() 函式包裝這個組件你可以像這樣匯入:
import {withRouter } from 'react-router-dom';
export default withRouter (component-name);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/323469.html
標籤:反应
上一篇:我如何獲得狀態改變的元素
