У меня есть два параметра, которые я прошел, но я не уверен, как их использовать в следующем примере. Пожалуйста, помоги, если можешь.Meteor React как использовать переданные в params?
updater(layer, item){
this.setState({layer5: <img id="layer5" className="on-top img-responsive center-block" name="layer5" src="images\5.png" />});
}
Так вот мой код в тот момент, что я хотел бы сделать что-то вроде следующего:
updater(layer, item){
this.setState({{layer}: <img id={layer} className="on-top img-responsive center-block" name={layer} src={item.src} />});
}
Но это дает мне ошибку синтаксиса.
UPDATE: После изменения я получаю правильные значения, принятые в России, но состояние не обновляется по какой-то причине:
constructor(){
super();
this.renderView = this.updater.bind(this);
this.state = {
layer1: "1.png",
layer2: "",
layer3: ""
};
}
updater(layer, item){
console.log(layer); //shows as "layer1"
console.log(item); // shows as "3.png"
this.setState({layer: item});
}
Спасибо увидеть обновление: изменили это, только изображение используется остальное оказывается в рендер, по-прежнему имеют проблемы, однако – sophia
@sophia Я думаю, '' {layer: item} 'не делает то, что вы думаете. В вашем примере это приведет к объекту '{layer: '3.png'}', а не '{layer1: '3.png'}'. Вместо этого попробуйте что-то вроде этого: 'var newState = {}; newState [layer] = item; this.setState (newState); ' – Timo
отлично работает отлично, спасибо за объяснение! – sophia