reactjs 具有历史记录的动态路由,push方法

drnojrws  于 2022-12-18  发布在  React
关注(0)|答案(1)|浏览(117)

我将一些名为topic的URL状态传递给一个函数名为goToNewPost的组件,该函数接受topic状态,并尝试使用history.push方法动态呈现NewPage组件。
我的问题是这是否可能,以及如何重构以使React中的history对象动态化路径名。如果不可能,什么是使其工作的好方法?
下面是将路由到在topic状态下传递的新页面的函数:

const gotoNewPost = () => {
        if (
            userContext.userState &&
            userContext.spendableReputation >= unirepConfig.postReputation
        ) {
            // pass topic state to new page
            history.push(
                {
                    pathname: `/${topic}/new`,
                    state: { topic: topic },
                },
                { isConfirmed: true }
            )
        } else {
            console.log(userContext.id)
        }
}

下面是包含要呈现的路径名和组件的路由:

<Route component={NewPage} path=":topicId/new" />

相关问题