Javascript 组件onPress函数中的渲染按钮显示最后一个i。自然反应
我试图从redux加载一个包含数组的组件(例如,Javascript 组件onPress函数中的渲染按钮显示最后一个i。自然反应,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我试图从redux加载一个包含数组的组件(例如,test)。我能够创建按钮并具有正确的标题,但是,onPress功能没有显示正确的值 //expected outcome when press button "a" 0 //Outcome 2 类测试扩展了React.Component{ render(){ 变量按钮=[] 对于(var i=0;i ) } 返回( {按钮} ); } } 您需要定义let而不是var for (let i = 0; i < this.props.test
test
)。我能够创建按钮并具有正确的标题,但是,onPress功能没有显示正确的值
//expected outcome when press button "a"
0
//Outcome
2
类测试扩展了React.Component{
render(){
变量按钮=[]
对于(var i=0;i
)
}
返回(
{按钮}
);
}
}
您需要定义let
而不是var
for (let i = 0; i < this.props.test.length; i++) { // this.props.test = ["a","b"]
buttons.push(
<Button
title={this.props.test[i]}
onPress={() => console.log(i)}
/>
)
}
export default class Test extends React.Component {
state={value:0}
handleClick=id=>{
this.setState({value:id})
}
render() {
let buttons;
buttons = this.props.test.map(te=>
<Button
key={te}
title={te}
onPress={() => this.handleClick(te)}
/>
)
return (
<View>
{buttons}
<Text>{this.state.value}</Text>
</View>
);
}
}