假設我有以下反應代碼。React組件如何觸發兄弟React組件的功能
<Navigation parentWindow={this} />
<p>Sub Pages</p>
<ReactCSSTransitionGroup
component="div"
transitionName="page-transition"
transitionEnterTimeout={0}
transitionLeaveTimeout={500}
>
{React.cloneElement(this.props.children, {
key: location.pathname
})}
</ReactCSSTransitionGroup>
的ReactCSSTransitionGroup
將最終渲染的是由ContactPage.js
創建一個<ContactPage />
。下面是ContactPage.js
樣子:
import React from 'react';
export default class Page extends React.Component
{
testMe() {alert('Hello World!');}
render() {return <div>Hello</div>;}
}
從我<Navigation />
這是由Navigation.js
創建的,我希望能夠觸發ContactPage.testMe()
。所以,我做這在我的Navigation.js
import React from 'react';
export default class Page extends React.Component
{
render() {
this.props.parentWindow.props.children.testMe();
return <div>Navigate me</div>;
}
}
但是當我運行該項目,我的導航給我的錯誤:
Uncaught TypeError: this.props.parentWindow.props.children.testCall
我該如何解決這個問題得到什麼?
你有導出默認的類頁面擴展你的Navigation.js中的React.Component。這只是一個複製和粘貼錯誤? – user5325596