私は現在、ディープコピーの状態を取得し、更新された値を返します。表示コンポーネントの私のレンダリング機能でリアクションコンポーネントが状態変更で更新されない
function countableItems(state = initialState, action) {
switch (action.type) {
case types.ADD_TO_SUM:
let denomMap = findDenomination(state.denomGroups, action),
nestedCopy = Immutable.fromJS(state);
return nestedCopy.setIn(['denomGroups', denomMap.group, denomMap.key, denomMap.index, 'sum'], parseFloat(action.value)).toJS();
default:
return state;
}
}
私はrender()
機能が子供に<DenomInput>
コンポーネントを構築this.props.denoms
に正しい更新された値を参照してください、と私は私のブレークポイントを設定したとき、私は
render() {
let denomGroups = this.props.denoms.map((denom, i) => {
return (
Object.keys(denom).map((key) => {
let denoms = denom[key].map((item, i) => {
return <DenomInput denom={item} onDenomChange={this.onDenomChange} key={i}></DenomInput>
});
return (<div className="col"><h2>{key}</h2>{denoms}</div>)
})
);
});
return (
<div className="countable-item-wrapper">
<div className="row">
{denomGroups}
</div>
</div>
);
}
に渡される正しいデータを参照してください
しかし<DenomInput>
コンポーネントはレンダリング時にそれは彼らが最初に
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class DenomInput extends Component {
constructor(props) {
super(props);
this.state = { denom: props.denom }
this.handleKeyUp = this.handleKeyUp.bind(this);
}
handleKeyUp = (e) => {
this.props.onDenomChange(e.target.value, this.state.denom.name);
}
render() {
return (
<div className="input-group denom">
<span className="input-group-addon">{this.state.denom.label}</span>
<input
type="text"
className="form-control"
onChange={this.handleKeyUp}
value={this.state.denom.sum} />
<span className="input-group-addon">{this.state.denom.count | 0}</span>
</div>
);
}
}
DenomInput.PropTypes = {
denom: PropTypes.object.isRequired,
onDenomChange: PropTypes.function
}
export default DenomInput;
を設定したものと同じ値をレンダリング
ReactとReduxでビューを更新するには、どの部分が欠けていますか?
値が正しい見てみ ''ではなく '' –
私がコメントで何が起こっ値あなたの問題 –
を反映するために私の答えを更新しましたか? state.count.denomGroups? –