不确定这是渲染服务器端的功能还是副作用,但每当我刷新页面或直接从 url 输入访问页面时,存储在公开的 _app.js 页面中的任何状态都会丢失。Next.js 声明 _app.js 页面用于“导航页面时保持状态”,因此这应该可行。
当使用组件路由客户端时,所有状态都会保留<Link>。
我试图在不使用 cookie/会话/本地存储的情况下存储非敏感数据。
任何人都可以验证这是否是最好的方法,还是我应该只使用其中一种技术?
如有必要,很乐意发布代码。
目前,我发现自己编写了很多组件,如下所示:
export default class MyComponent extends Component {
constructor(props) {
super(props)
this.state = {
someState1: 'something',
someState2: 'something',
someState3: 'something'
}
}
render() {
return (
<ComponentOne prop1={this.someState1} {...this.props}/>
<ComponentTwo prop2={this.someState2} {...this.props}/>
<ComponentThree prop3={this.someState3} {...this.props}/>
)
}
}
Run Code Online (Sandbox Code Playgroud)
更高级别的状态照常通过道具传递并传播到子组件中。
在某些情况下,我发现我将所有 props 分散到每个子组件中,因为它比指定 props 更快/更容易。
所以问题是: