import { connect } from "mizar/iso/connect"; import React from "react"; import Page from "../../common/components/Page/index"; import { IProps } from "./interface"; import { useNavigate, useLocation, useSearchParams} from "react-router-dom"; import getLogger from "mizar/iso/utils/logger"; import fetch from "mizar/iso/fetch"; // import loadable from '@loadable/component'; // const Counting = loadable(() => import('micro_1/counting')); // micro_1/counting需要在typings目录中增加声明 import * as css from "./index.less"; const logger = getLogger().getLogger('article'); function Jump ({text}) { const navigate = useNavigate(); return ( { e.preventDefault(); navigate("/detail/video/111221?ad=video"+ 4444444); }}>{text}); } function JumpToIso ({text}) { const navigate = useNavigate(); return ( { e.preventDefault(); navigate("/detail/iso/111221?ad=iso"+ 66666); }}>{text}); } function JumpToNowhere({text}) { const navigate = useNavigate(); return ( { e.preventDefault(); navigate("/detail/232323/111999?ad=video"+ 4444444); }}>{text}); } function ChangeSearch() { const [searchParam , setSearchParam] = useSearchParams(); return
{alert(searchParam.get('query'))}}>get search
,
{alert(setSearchParam({query:'query'}))}}>set search
; } function ArticleDetail(props: IProps) { const navigate = useNavigate(); console.log("***********: ", props.params); const id = props.params ? props.params.id : "null"; return ( {/* */}
这是aritcle detail 页面{id}
{JSON.stringify(props.data)}: id is: {id}

{ e.preventDefault(); addCounting(props); }}>增加counting

{ e.preventDefault(); minusCounting(props); }}>减少counting

{ e.preventDefault(); navigate("/detail/232323/111999?ad=video"+ 4444444); }}>内嵌的a标签跳转,使用useNavigate

); } ArticleDetail.getInitialData = async function getInitialData(initFetch, options) { console.log(options); initFetch({ method: "POST", url: "/api/costm/method/hahah", params: { articleId: options.params.path, query: 2 }, data: { key: 1, key2: 2, } }).then(data => { console.log("拿到 initial data:", data); }).catch(e => { console.log("articleDetail initialData fetch error出错:", e); }) // const result = []; // try { // result = // await Promise.all([ // initFetch({ // url: "/api/firstpath/method/hahah", // params: { articleId: options.params.id }, // }); // initFetch({ // url: "/api/secondpath/method/hahah", // params: { articleId: options.params.id }, // }); // ]); // console.log(result); // } catch(e) { // console.log("biz catch:"); // console.error(e) // } return { title: "article page 222hahahahhh", data: { count: -2, text: "article server data 223344 okokok.; params: " + JSON.stringify(options.params) + ", ****** query: " + JSON.stringify(options.query), }, }; }; function minusCounting(props) { props.dispatch({ type: "vMinusCount", data: { count: props.data.count - 1, }, }); } function addCounting(props) { props.dispatch({ type:"vAddCount", data: { count: 333333 } }); } export default connect()(ArticleDetail);