【发布时间】:2018-11-18 09:25:19
【问题描述】:
我是使用 react 的新手。我有一系列数据,每个项目都有一个按钮,通过单击它,必须更改特殊 div 的文本,但在我的问题中,通过单击一个项目的按钮,所有项目中的div的文本都将被更改。我希望当我单击按钮时,该项目中的那个div的文本被更改。提前谢谢
class App extends React.Component {
constructor(props, context){
super(props, context);
this.state = {
data: [],
};
$.ajax({
url:"/json.bc",
type:"get",
success:(result)=>{
this.setState({data: eval(result)});
}
})
}
renderFlight(){
return this.state.data.sort((a, b) => a.total - b.total).map((item,i)=>{
return(
<div class="item"> <div class="btn" onClick={((e) => this.rueldep(e, item))}>click</div>
<div class="text">{this.state.txt}</div>
</div>
)})}
rueldep= (e, item) => {
var Text= item.info.departureinformation.routeshow.description
if (typeof desc === 'string'){
return desc
} else {
this.setState({
txt: Text
});
}
};
render(){
return(
<div>{this.renderFlight()}</div>
)}}
ReactDOM.render(<App/>, document.getElementById('Result'));
【问题讨论】:
-
数据数组中的每个对象都有唯一的 id 吗?
-
是的,但 id 是一个对象,我不能使用它。我试图在 (item,i) 中使用用户“i”。
-
让我知道你在 this.state.data 中有什么?
-
[{'_id': {'value': 'eydGYXJlU291cmNlQ29kZSc6ICczMzMyMzUzNjM5NjMzNjM1MzEzNTY0MzIzNDY2MzI2MjM5NjUzMjM5NjIzMDYzNjM2MjYyMzY2MzM4MzczODMzMjYzNjMzMjYzMzMyMzgzMjMxMzMzODM4JywgJ3Byb3ZpZGVyJzogeydwcm92aWRlcl9pZCc6ICczJywgJ2RtbmlkJzogMzk4MS4wfSwgJ2ZhcmV0eXBlJzogNH0=', 'provider': {'provider_id': '3', 'dmnid': '3981-0'}, 'fareType ': 4}]
-
这是我的物品的 ID 之一,它是一个对象
标签: reactjs