2 回答

TA貢獻1898條經驗 獲得超8個贊
你可以使用 React Router v4。withRouter用from包裹你的組件,react-router-dom這樣你就可以訪問historyprop. 之后,您可以為您的道具push添加新網址。history
我不確定您的redirect函數所在的父組件中的代碼是什么,但這是一個使用withRouter. 如果您共享更多組件,我可以更改代碼段并添加您的代碼。
import React from "react";
import { withRouter } from "react-router-dom";
import BtnDetalii from "./BtnDetalii";
const Card = withRouter(({ history, ...props }) => {
const redirect = () => {
console.log("redirecting...");
const id = props.id;
const url = `detalii/${id}`;
history.push(url);
};
return (
<div className="today">
<div className="data">{props.nume}</div>
<img src={props.poza} className="img-icon" alt="poza" />
<p className="text">{props.strada}</p>
<BtnDetalii
clickFn={redirect}
text="apasa aici pentru mai multe detalii"
/>
</div>
);
});
export default Card;

TA貢獻1865條經驗 獲得超7個贊
檢查此示例以獲取功能組件,您可以閱讀文檔以更好地理解。
import { useHistory } from "react-router-dom";
function HomeButton() {
let history = useHistory();
function handleClick() {
history.push("/home");
}
return (
<button type="button" onClick={handleClick}>
Go home
</button>
);
}
添加回答
舉報