【发布时间】:2019-09-18 19:37:56
【问题描述】:
我在 nextjs 工作。我有标题组件,为了在所有其他页面中显示标题,用 _app.js 覆盖了 app.js。标题有 2 个导航链接 usersList 和 users。 现在我想将数据从标题组件发送到另一个页面,比如 usersList 和用户点击标题中的提交。我们如何实现这一点。 我知道我们可以使用上下文。我正在使用基于类的组件不知道天气我们可以使用上下文。 有没有其他解决这个问题的方法。。 请帮忙
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
布局.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}
/>
)
}
}
编辑: 可以通过props来实现吗
【问题讨论】: