从“React-Native”导入React,{组件,样式表,文本,触摸高亮显示,文本输入,视图,列表视图,警报};
var LongButton=require('./LongButton.js');
类SurveyQn扩展组件{
constructor(props) {
super(props);
this.state = {
options: [{option: 'Pizza'}],
};
}
componentWillMount() {
this.dataSource = new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
}
_renderItem(item) {
return (
<LongButton
text={item.option}
onPress={() => {}}
//btnViewStyle={styles.buttonView}
//btnTextStyle={styles.buttonText}
/>
);
}
_addItem() {
AlertIOS.alert(
'Add new option',
null,
[
{
text: 'Add',
onPress: (text) => {
var options = this.state.options;
options.push({option: text})
this.setState({ options: options})
}
},
],
'plain-text'
);
}
render(){
var dataSource = this.dataSource.cloneWithRows(this.state.options);
return (
<View style={styles.container}>
<TextInput
style={styles.question}
placeholder="Question title"
placeholderTextColor="#4B667B"
selectionColor="#4B667B"
onChangeText={(text) => this.setState({text})}/>
<View style={styles.listView}>
<ListView
dataSource={dataSource}
renderRow={this._renderItem.bind(this)}/>
</View>
<TouchableHighlight
onPress={this._addItem.bind(this)}
style={styles.buttonView}
underlayColor='rgba(0,0,0,0)'>
<Text style={styles.buttonText}>
Add option
</Text>
</TouchableHighlight>
</View>
);
}
ListView项:LongButton
“严格使用”
从“React-Native”导入React,{组件,样式表,文本,触摸亮点,视图,};
render(){
return (
<TouchableHighlight
onPress={this.props.onPress}
style={this.props.btnViewStyle}
underlayColor='rgba(0,0,0,0)'>
<Text style={this.props.btnTextStyle}>
{this.props.text}
</Text>
</TouchableHighlight>
);
更新:我试过了,但也不起作用。可能是警报导致了这些问题吗?在点击BTN后,只需要花很长时间来呈现警报。
类SurveyQn扩展组件{
构造器(道具){超级(道具);
this.state = {
options: [{option: 'Pizza'}],
dataSource : new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
};
<View style={styles.listView}>
<ListView
dataSource={this.state.dataSource}
renderRow={this._renderItem.bind(this)}/>
</View>
<TouchableHighlight
onPress={this._addItem.bind(this)}
style={styles.buttonView}
underlayColor='rgba(0,0,0,0)'>
<Text style={styles.buttonText}>
Add option
</Text>
</TouchableHighlight>
</View>
);
在深入研究复杂的EcmaScript表示法之前,可以使用简单表示法。下面是ListView的一个简单示例。请通过它,并了解它是如何工作的。
var API = require('./API');
module.exports = React.createClass({
getInitialState: function(){
return {
rawData: [],
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
}),
loaded: false,
}
},
componentWillMount: function(){
this.loadData();
},
loadData: function(){
API.getItems()
.then((data) => {
this.setState({
rawData: this.state.rawData.concat(data),
dataSource: this.state.dataSource.cloneWithRows(data),
loaded: true,
});
});
},
render: function(){
return(
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderItem}
style={styles.listView}>
</ListView>
);
},
renderItem: function(item){
return (
<View>
<Text>Custom Item</Text>
</View>
);
},
}
在api.js中,我从API中获取数据。
getItems: function(){
var REQUEST_URL = 'http://api.example.org/item/get?api_key=xxxx;
return fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseData) => {
return responseData.results.sort(sortByDate);
});
}
代码可能无法工作,因为我没有测试过。但是您可以在GitHub上参考我的示例项目。回购
我的简单web应用程序 此web应用程序托管在:https://popping-heat-6062.firebaseapp.com/ 我的简单React本机应用程序 预期结果 null 实际效果 Web应用程序成功地将发送消息发送到响应本机应用程序,并将消息记录在调试器窗口中 React本机应用程序未成功将消息发送到web应用程序,并且未在web文本中打印出来 有人知道为什么web应用程序没有收到
问题内容: 这是我第一次接触android。我正在尝试向我的ListView添加项目。我使用“选项卡”,查看添加项目的唯一方法是更改选项卡,然后返回到第一个选项卡。 我到处搜寻,而且一直都找到 但对我不起作用。 正如我所说,我已经使用固定标签+滑动创建了项目。我只希望有一个列表视图,哪些行具有一个EditText,一个Spinner和一个Button。在用于选项卡的Fragment的底部,我有
但现在我正试图从yarn add@react native community/async storage添加异步存储,这给了我一个错误。它没有添加到我的项目中。 我在安装软件包时并没有收到任何错误,但它并没有添加到软件包中。json文件我还尝试添加本机基,然后运行react-native链接,该链接也没有添加到包中。json,它也给了我错误: > 警告包@react native communi
在这个构建中使用了不推荐的Gradle特性,使其与Gradle7.0不兼容。使用“--Warning-Mode All”显示各个弃用警告。请参见https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings440可操作任务:22个已执行,418最新注意:c:\users\stef
你好,我正面临一个问题与世博反应本地。每当我试图启动iOS模拟器。我得到这个错误: 世博会结果截图 我的NPM版本是6.7。0本机cli:2.0。1:0.57。1世博会版本2.11。9 此外,我还确保我在Xcode上的命令行工具是完全由Xcode命令行工具设置的 最后,我还尝试运行命令 什么都不管用。。
我试图获得卡的列表,并尝试使用小部件,但有错误 我的代码: 我得到的错误是: