呼び出されていないコンポーネントにreceivePropsなぜcomponentWillUpdateとDidUpdateに減速でのみ
import React, { Component } from 'react'
class Main extends Component{
constructor(props){
super(props)
this.state = {
active : '',
username: '',
password: ''
}
}
componentWillReceiveProps(newProps) {
console.log(newProps.load(), 'Component WILL RECIEVE PROPS!')
}
componentWillUpdate(nextProps, nextState) {
console.log(nextProps, nextState, 'Component WILL UPDATE!');
}
componentDidUpdate(prevProps, prevState) {
console.log(prevProps,'Component DID UPDATE!')
}
handleButtonAction(actions){
let user = this.state.username
let pass = this.state.password
if(actions === 'login'){
this.props.login(user, pass)
}
}
render(){
const {navigation} = this.props;
return(
<Button block onPress={()=>this.handleButtonAction('login')} style=
{{marginLeft: 10, marginRight: 10}}>
<Text>Login</Text>
</Button>
)}
const mapStateToProps = state =>({
token: state.token
})
const mapDispatchToProps = dispatch => ({
login: (user, pass)=> dispatch({type:"LOGIN", payload:'testing'}),
})
export default connect(mapStateToProps, mapDispatchToProps)(Main)
ジャンプ実行していませんcomponentWillReceivePropsは、小道具が変更されたとき、およびこれが最初のレンダリングでないときにだけ呼び出されます。
componentWillReceivePropsは、以前とまったく同じ小道具を受け取っている場合は呼び出されません。
状態の新しい値を更新することからトリガーしました。
ので、ここでは、あなたはこれが派遣のSyntextがthis.props.dispatch(xyz.login(user, pass)}
のようなものです、それは減速機能のログインと呼ばれる状態
を更新しますあなたの減速機能
を呼び出すことはありません関数にlogin
this.props.login(user, pass)
を派遣する必要があります