У меня есть проблема, но я не мог выяснить, в чем причина, я думаю, это связано с моим отсутствием опыта реагирования, ну что ж, поехали.Когда компонент монтируется, вызывается componentDIdMount и вставляется состояние реквизита, но когда я обновляю страницу (f5), состояния модуля и часового пояса не получают значение didMount, но тест состояния получает свое значение, этокак будто this.pros не существует в componentDidMount, но он находится на компоненте.
Когда компонент визуализируется.
При обновлении на страницу (f5).
Я вижу, что componentDidMount вызывается при обновлении, потому что тест вставлен в состояние, а this.props - нет.Кто-нибудь направляет свет в конце туннеля?
Мой компонент.
import React, {Component} from 'react'
import { connect } from 'react-redux';
import ActionsCreators from '../../redux/actions/actionsCreators'
class MyAccount extends Component{
constructor(props){
super(props)
this.state = {
unit: '',
timezone: '',
test:''
}
}
componentDidMount(){
this.setState({
unit: this.props.auth.user.unit,
timezone: this.props.auth.user.timezone,
test:'test'
})
}
render(){
return(
<div>
<h1>MyAccount</h1>
<span>state {JSON.stringify(this.state)}</span>
<br/>
<span>props unit:{JSON.stringify(this.props.auth.user.unit)} </span>
<br />
<span>props timezone:{JSON.stringify(this.props.auth.user.timezone)} </span>
</div>
)
}
}
const mapStateToProps = state => {
return {
auth: state.auth
}
}
const mapDispatchToProps = dispatch => {
return{
updateProfile: (user) => dispatch(ActionsCreators.updateProfileRequest(user))
}
}
export default connect(mapStateToProps, mapDispatchToProps)(MyAccount)