2017-03-02 31 views
0

更新したいmin状態は、&です。 min &を更新すると、他の2つの状態は空になります。ローカル状態のオブジェクトの状態を、反応するjs内で更新する

constructor(props) { 
    super(props); 
    this.state = { 
    param: { 
     one: [], 
     two: [], 
     min: 100000, 
     max: 5100000 
    } 
    }; 
} 

これは私のコードです。あなたはsetState

+0

を行うための別の方法をこの

select_price(price) { let paramState = {...this.state.param}; //works with es6 only paramState.min = price[0]; paramState.max = price[1]; this.setState({ param: paramState); } 

ようなことをすればよいですか? 'setState()'や 'replaceState()'を使っていますか? – Jayce444

+0

私はsetState()を使用しています –

+0

'setState()'コマンドを投稿できますか? – API

答えて

3

と操作の$set種類を適用することができるかどう

doc = this.state.param 
doc.min = price[0] 
doc.max = price[1]} 
this.setState({ param: doc }); 

わからない:

select_price(price) { 
    this.setState({ param: {min:price[0], max:price[1]}}); 
} 
+0

はい。それは働いている。どうもありがとうございます。 –

0

クイックフィックスは、文書全体を取得し、特定の項目を変更し、状態を設定することです状態全体を新しい状態に置き換えます。編集で示唆したように、あなたは、@ markm247によって、あなたの状態を更新し、あなたのコードは、この

select_price(price) { 
    let paramState = {...this.state.param, min:price[0],max: price[1]}; 
    this.setState({ param: paramState); 
    } 
+0

ローカル状態です。ローカルステートには小道具からアクセスすることはできません。 this.props.param.get()がエラーをスローしています: 未定義のプロパティ 'get'を読み取ることができません –

+0

は 'this.state.param.get()'に置き換えられますか? – API

+0

this.state.param.get()も動作していません。 –

関連する問題