如何在反应中将组件引用传递给路由组件 [英] How to pass component reference to routes component in react
问题描述
在反应中,我想将组件的引用传递给路由组件.但是当我路由到诸如/"之类的路径时,它会重新呈现传递的组件,因此再次从 0 开始.这是工作示例的链接https://codesandbox.io/s/884yror0p2这是一个代码,每当我从 Home 路由时-->关于 about 计数器以 0 开头.
从react"导入React;从react-dom"导入 ReactDOM;从react-router-dom"导入{ BrowserRouter 作为路由器、路由、链接};class Dummy 扩展了 React.Component {构造函数(道具){超级(道具);this.state = {时间:0};setInterval(() => {this.setState({ c: this.state.c + 1 });}, 1000);}使成为() {返回<h1>计数器 {this.state.c}</h1>;}}class BasicExample 扩展 React.Component {构造函数(道具){超级(道具);this.state = {//com: <Dummy/>这种技术也行不通};}使成为() {让 com = <Dummy/>;返回 (<div><路由器><div>{com}<ul><li><链接到="/">主页</链接><li><Link to="/about">关于</Link><小时/><路线精确的路径=/"//render={() =><Home com={com}/>}//这也不行组件={道具=><Home {...props} com={com}/>}/><路线路径=/关于"组件={道具=><关于 {...props} com={com}/>}/>
</路由器>
);}}class Home 扩展 React.Component {使成为() {返回 (<div>{this.props.com}<h2>首页 </h2>
);}}class 关于扩展 React.Component {构造函数(道具){超级(道具);console.log(this.props);}使成为() {返回 (<div>{this.props.com}<h2>关于</h2>