我在nextjs中工作。我有标头组件,为了在所有其他页面中显示标头,用_app.js覆盖了app.js。标头有2个导航链接usersList和users。 现在我想将数据从标题组件发送到另一个页面,即usersList和单击标题中的Submit的用户。我们如何实现这一点。 我知道我们可以使用上下文。我使用的是基于类的组件,不知道天气可以使用上下文。 还有其他解决方案吗? 请帮助
header.js
class HeaderComponent extends Component {
onSearch(event){
//some code
}
render() {
return (
<div className="navbar">
<Input id="search-input" className="text-box" placeholder="Enter name or Email.." onKeyDown={($event)=>this.onSearch($event)} prefix={<Icon type="search" onClick={()=>this.onSearch} ></Icon>}></Input>
</div>
)
}
}
export default HeaderComponent
Layout.js
import React, { Component } from 'react';
import Header from './Header';
class Layout extends Component {
render () {
const { children } = this.props
return (
<div className='layout'>
<Header />
{children}
</div>
);
}
}
_app.js
import React from 'react';
import App from 'next/app';
import Layout from '../components/Layout';
export default class MyApp extends App {
render () {
const { Component, pageProps } = this.props
return (
<Layout>
<Component {...pageProps} />
</Layout>
)
}
}
userList.js
class AppUser extends Component {
render() {
return (
<Table
rowKey={data._id}
columns={this.columns1}
onExpand={this.onExpand}
dataSource={data}
/>
)
}
}
编辑: 我们可以通过道具来实现吗