內我有一個反應-Redux的應用,我能夠接收部件內部的道具。陣營-Redux的訪問道具嵌套對象內部部件
這是我componentDidMount()
功能
componentDidMount() {
this.graphdata = {
dnsCountPlot: {
data: [{
type: 'scatter',
x: this.props.dnsCountPlot.x,
y: this.props.dnsCountPlot.y,
fill: 'tozeroy',
marker: {
color: 'rgb(99, 128, 185)'
}
}],
layout: {
title: '',
xaxis: {
title: 'time'
},
autosize: true
},
config: {
showLink: false,
displayModeBar: true
}
}
};
}
的this.props.dnsCountPlot.x
變量更新每隔10秒,當我打印變量它表明。
但是,包含this.props.dnsCountPlot.x
變量的this.graphdata
變量未被更新。任何想法,如果這是可能的,以及如何做到這一點?
componentDidUpdate() {
console.log(this.props.dnsCountPlot.x); //Successfully Updated
console.log(this.graphdata); // Doesnt reflect changes of this.props.dnsCountPlot.x
}
的index.js文件
const initialState = {
dnsCountPlot : {
x: [],
y: []
}
};
const store = createStore(reducers(initialState));
const history = createBrowserHistory();
startSocket(store);
ReactDOM.render((
<Provider store={store}>
<HashRouter history={history}>
<Switch>
<Route path="/" name="Home" component={Full}/>
</Switch>
</HashRouter>
</Provider>
), document.getElementById('root'));
感謝。
你應該使用'componentWillReceiveProps'來獲得新道具。看看[組件的生命週期(https://facebook.github.io/react/docs/react-component.html#componentwillreceiveprops) – bennygenel
你缺少一個零元素的「數據」數組中'X, y'在你的初始狀態在你的REDEX商店以及 – Relic