相关疑难解决方法(0)

Next.js:带有状态的Router.push

我正在使用next.js重建用于服务器端渲染的应用程序。我有一个处理搜索请求的按钮。

在旧应用中,处理程序是这样的:

search = (event) => {
    event.preventDefault();
    history.push({
        pathname: '/results',
        state: {
            pattern: this.state.searchText,
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

在结果类中,我可以使用this.props.location.state.pattern获取状态日期。

所以现在我正在使用next.js:

import Router, { withRouter } from 'next/router'

performSearch = (event) => {
    event.preventDefault();
    Router.push({ pathname: '/results', state: { pattern: this.state.searchText } });
};
Run Code Online (Sandbox Code Playgroud)

在结果类中,我使用

static async getInitialProps({req}) {
    return req.params;
}
Run Code Online (Sandbox Code Playgroud)

我不确定是否必须将其添加到我的server.js中:

server.get('/results', (req, res) => {
    return app.render(req, res, '/results', req.params)
})
Run Code Online (Sandbox Code Playgroud)

但是,由于未定义req,因此函数getInitialProps引发错误。长文本,简短问题:如何在不使用GET参数的情况下将状态或参数传递给另一个页面?

javascript reactjs react-router next.js

2
推荐指数
4
解决办法
6192
查看次数

标签 统计

javascript ×1

next.js ×1

react-router ×1

reactjs ×1