0
我是新來的終極版,我越來越瘋狂更新單個值...Redux的減速不更新初始狀態
當我的應用程序啓動它進行地理定位和當它完成我打電話給我的行動更新狀態地理編碼:
操作:
export const UPDATE_LOCATION = 'UPDATE_LOCATION';
export function updateLocation(location) {
return {
type: UPDATE_LOCATION,
payload: location
};
};
減速機:
import { UPDATE_LOCATION } from '../actions';
const initialState = {
location: {
latitude: '51.509865',
longitude: '-0.118092'
}
};
export default function(state = initialState, action) {
switch (action.type) {
case UPDATE_LOCATION:
return Object.assign({}, state, {
location: action.payload
});
default:
return state;
}
}
Basicall y當我在我的應用程序中嘗試獲得this.props.location.latitude
,即使它已被更新,我仍然看到在initialState
中設置的值。
組件:
import React, { Component } from 'react';
import { connect } from 'react-redux';
class Demo extends Component {
constructor(props) {
super(props);
// never updated by Redux...
console.log(props.location.latitude);
}
render() {
return (
<div>
...
</div>
);
}
}
function mapStateToProps(state) {
return {
location: state.location.location // I don't know why location is set twice...
};
}
export default connect(mapStateToProps)(Demo);
的this.props.updateLocation(data)
運行在不同的分量,我能看到正確的數據進入減速...
您可以在光開關給我嗎?謝謝