gpt4 book ai didi

php - Next js - 每次更改路由时在服务器端调用一个函数

转载 作者:行者123 更新时间:2023-12-04 16:27:35 27 4
gpt4 key购买 nike

我正在将旧堆栈移动到下一个 js,我需要一些帮助。

我有一个 php 后端,每次更改路由时我都想从该后端检查 Controller ,我想在服务器端执行此操作。

对于改变路线,我使用 Linknext-routes , 仅对客户端有影响。

有什么方法可以在不刷新应用程序的情况下在服务器端调用 Controller ?

最佳答案

您可以利用 Router's eventsCustom App 观察路线变化并执行您需要的操作。您可以在下面找到两种示例实现,一种使用类组件,一种使用钩子(Hook)。两者都应该做到这一点。

// class component
import NextApp from 'next/app';
import Router from 'next/router';

class App extends NextApp {
componentDidMount() {
Router.events.on('routeChangeStart', () => {
// call to your backend
});
}

render() {
const { Component, pageProps } = this.props;

return <Component {...pageProps} />;
}
}

export default App;
// using hooks
import Router from 'next/router';

const App = ({ Component, pageProps }) => {
React.useEffect(() => {
const doMagic = () => {
// do your thing
}

Router.events.on('routeChangeStart', doMagic); // add listener

return () => {
Router.events.off('routeChangeStart', doMagic); // remove listener
}
}, []);

return <Component {...pageProps} />;
}

export default App;

关于php - Next js - 每次更改路由时在服务器端调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60110931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com