问题描述
我正在遵循this示例来尝试创建刷新控件,我希望用户能够刷新页面并更新API中的信息。 此页面最初加载页面时会加载一次,而“拉动刷新”仅需等待2秒钟。 我已经尝试了很多事情,例如创建API函数以获取数据或在onRefresh()函数中发出请求,这些都不起作用。
代码:
const wait = (timeout) => {
return new Promise(resolve => {
setTimeout(resolve,timeout);
});
}
function HomeScreen() {
const [refreshing,setRefreshing] = React.useState(false);
const [view,setview] = useState('');
const tableHead = ['Room Number','Created at','Type'];
const onRefresh = React.useCallback(() => {
setRefreshing(true);
wait(2000).then(() => setRefreshing(false));
},[]);
fetch('https://xxx.xxxxxx.com/getrooms')
.then(response => response.text())
.then(data => setview(data))
const tableData = [];
const ap = view.split('(');
for (let i = 0; i < ap.length - 1; i += 3)
{
const rowData = [];
for (let j = i; j < i + 3; j += 1)
{
rowData.push(ap[j]);
}
tableData.push(rowData);
}
return (
<View style={{flex: 1,padding: 16,paddingTop: 30,backgroundColor: '#D8D8D8'}}>
<SafeAreaView style={{flex: 1,marginTop: Constants.statusBarHeight}}>
<ScrollView
contentContainerStyle={styles.scrollView}
refreshControl={
<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />
}
>
<Table borderStyle={{borderWidth: 2,borderColor: '#c8e1ff'}}>
<Row data={tableHead} style={{height: 40,backgroundColor: '#f1f8ff'}}/>
<Rows data={tableData} style={{margin: 6}}/>
</Table>
</ScrollView>
</SafeAreaView>
</View>
);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)