Tôi đang cố xác thực thông tin đăng nhập. Sau khi đảm bảo đăng nhập hợp lệ, tôi muốn kích hoạt tuyến đường mới. Tôi chuyển state.loginReducer.login làm đạo cụ. Khi tôi xử lý sự kiện gửi, một hành động được gửi đi, thay đổi trạng thái đăng nhập toàn cục.Cập nhật trạng thái Redux không kích hoạt thành phầnWillReceiveProps
Không nên ComponentWillReceiveProps
được kích hoạt trong trường hợp này? kể từ khi đạo cụ thay đổi ?. Có cách nào tốt hơn để triển khai chức năng này không?
handleSubmit (evt) {
const {
dispatch,
login
} = this.props;
dispatch(actions.doLogin(value.login));
}
ComponentWillReceiveProps (nextprops) {
const {
login
} = this.nextProps;
if (login != null) {
history.pushState({}, '/account');
}
}
function mapStateToProps (state) {
return {
login: state.loginReducer.login
}
}
export default connect(mapStateToProps)(Login);
Giải pháp rõ ràng sẽ sử dụng gọi lại (đó là những gì tôi đang làm ngay bây giờ), nhưng tôi vẫn không chắc chắn về CWRP không bị sa thải trong trường hợp này. –
Bạn có định nghĩa 'mapStateToProps' làm phương thức lớp không? Hãy chắc chắn rằng bạn không vô tình truyền trong 'undefined' để kết nối. –