2017-04-17 2 views
0

私はreactに新しいです、私はfunctionを別のfunctionに電話したいと思います。例えば、componentWillReceivePropscomponentWillMountに電話する必要がありますか?どうやってするか?componentWillMountでcomponentWillReceivePropsを呼び出す方法は?

import React from 'react' 
class App extends React.Component { 
    componentWillMount() { 
    enter code here 
    } 
    componentWillReceiveProps(nextProps) { 
    console.log(nextProps) 
    } 
    render() { 
    return(
     <div> 
     <h>hiiiiii</h1> 
     </div> 
)} 
} 
+1

なぜ**あなたはそれを呼び出す必要がありますか? [コンポーネントライフサイクル](https://facebook.github.io/react/docs/react-component.html#the-component-lifecycle)は、あなたのためにそれを呼び出します。 –

+0

reduxはコンポーネントを呼び出さないため、以前のデータが同じ場合は小道具を受け取る –

+1

小道具が変更されていない場合は、なぜそれを呼び出す必要がありますか?ライフサイクル機能の全ポイントは、レンダリングプロセスの特定の部分にフックを与えることです。彼らが呼び出されていない場合、正当な理由があり、それらを呼び出すことが間違ったアプローチのように思えます。おそらく、あなたがしようとしているものではなく、あなたが達成しようとしているものを記述しようとするべきです。より良い方法を見つける手助けをすることができます。 –

答えて

1

私は何が良いんだろうが、あなたが操作がcomponentWillReceivePropsとcomponentWillMount内でその方法を実行して、呼び出したいメソッドを生成することだと思います。

import React from 'react' 
class App extends React.Component { 
    constructor(props){ 
     super(props); 
     this._myMethod=this._myMethod.bind(this); 

    } 
    componentWillMount() { 
     this._myMethod(this.props); 
    } 
    componentWillReceiveProps(nextProps) { 
     this._myMethod(nextProps); 
    } 
    _myMethod(props){ 
     console.log(props); 
    } 
    render() { 
     return(
      <div> 
       <h>hiiiiii</h1> 
      </div> 
     )} 
} 
関連する問題