簡體   English   中英

在React Lifecycle方法中使用局部方法

[英]Using Local Methods within React Lifecycle Methods

我很好奇以下代碼是否有效:

 class App extends React.Component { componentDidMount() { logger('mount') } componentDidUpdate() { logger('update') } logger = x => { console.log(x) } render() { return ( <div className='container'> </div> ) } } ReactDOM.render(<App />, document.getElementById('app')) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="app"></div> 

我已經在React上工作了一段時間,但從未遇到過在生命周期方法中使用本地方法的原因,但是我認為出於好奇,我今天會嘗試使用它。 我至今無法找到任何指定的解釋,為什么這可能行不通。 是應用程序初始化的順序,只是在調用時沒有看到它,還是我沒有想到的基本內容?

我相信這可能就像將this.logger('mount')this.logger('update') logger('mount')logger('update') this.logger('mount')一樣簡單:)

您需要為此添加函數調用this. 訪問本地方法:

 class App extends React.Component { componentDidMount() { this.logger('mount') } componentDidUpdate() { this.logger('update') } logger = x => { console.log(x) } render() { return ( <div className='container'> </div> ) } } ReactDOM.render(<App />, document.getElementById('app')) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> <div id="app"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM