Preact:如何从一个组件到另一个组件获取url参数

问题描述

我想通过单击链接将一些信息从一个.tsx文件传递到另一个一个视图传递到另一个视图)。如何在Preact中实现这一目标。

Main.tsx

<Router onChange={(r) => setTitle(getTitle(r))}
                        routes={{
                            '/': <RouteComponent component={ContactForm} />,'/faq/:user?': <RouteComponent component={Faq} />
                        }} />

ContactForm.tsx

<RouteLink href={`/faq/Jason`} > here</RouteLink>

Faq.tsx

const Faq = ({ user,...props }) => {
    console.log(user);
    ...

我的ContactForm.tsx正确加载,但是我相信单击该页面上的链接不会转到Faq.tsx。如果删除查询参数,它将带我到Faq.tsx,但是我需要将名称“ Jason”从ContactForm.tsx传递给faq.tsx

谢谢

解决方法

您可以在路由参数上找到该参数。使用这个:

const { user } = useParams();

查看此处:https://reacttraining.com/blog/react-router-v5-1/

,

if (Default.dropdownAccordion === true) { this._getAllSiblings(toggler.parentElement).forEach(element => { if (element !== toggler.parentNode) { if (element.classList.contains(CLASS_NAME_NAV_DROPDOWN)) { // line 369 element.classList.remove(CLASS_NAME_SHOW) } } }) }