我已使用react-native提取从REST API获取数据。其显示效果很好。现在,我需要使用按钮的响应onPress函数。 响应
.then((responseJson) => {
this.setState({
data: responseJson,
})
})
我得到的价值是
{
"id": 2,
"foo": "bar"
}
在View with中运行正常
<Text>{this.state.data.answer}</Text>
我需要
_onPressButtonA() {
alert("bar");
}
我的按钮代码是
<TouchableOpacity onPress={this._onPressButtonA}>
<Text>{this.state.data.option1}</Text>
</TouchableOpacity>
完整代码
class QuestionScreen extends React.Component {
state = {
data: '',
}
componentDidMount() {
return fetch('http://example.com/api', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
param: 'foo',
}),
}).then((response) => response.json())
.then((responseJson) => {
this.setState({
data: responseJson,
})
})
.catch((error) => {
console.error(error);
});
}
_onPressButtonA() {
//Needed to be displayed here
}
render() {
return (
<View style={{ flex: 1, paddingTop: 20 }}>
<View style={{ margin: 15 }}>
<View style={{ margin: 5 }} />
<TouchableOpacity onPress={this._onPressButtonA}>
<Text>{this.state.data.answer}</Text>
</TouchableOpacity>
</View>
);
}
}
答案 0 :(得分:1)
根据我的评论,您应该使用箭头功能,以便可以通过此功能访问状态
@Test
public void testRegex() throws Exception {
MutableDocument doc1 = new MutableDocument("doc1");
doc1.setValue("version", "v_1.7.7_1_3");
db.save(doc1);
MutableDocument doc2 = new MutableDocument("doc2");
doc2.setValue("version", "v_1.7.5_1_3");
db.save(doc2);
MutableDocument doc3 = new MutableDocument("doc3");
doc3.setValue("version", "v_4.7.1_2_8");
db.save(doc3);
MutableDocument doc4 = new MutableDocument("doc4");
doc4.setValue("version", "v_4.7.1_1_8");
db.save(doc4);
MutableDocument doc5 = new MutableDocument("doc5");
doc5.setValue("version", "v_4.7.2_2_8");
db.save(doc5);
MutableDocument doc6 = new MutableDocument("doc6");
doc6.setValue("version", "v_4.6.2_2_8");
db.save(doc6);
Query q = QueryBuilder
.select(SelectResult.property("version"))
.from(DataSource.database(db))
.where(Expression.property("version").regex(Expression.string("^v" + "_" + "(4.6.2|1.7.7)" + "_" + "[123]" + "_" + "[12345678]")));
List<Result> results = q.execute().allResults();
// since the doc1 and doc6 passes the regex.
assertEquals(results.size(), 2);
}
或者您可以在构造函数中手动绑定
_onPressButtonA = () => {
//Needed to be displayed here
}