我不确定是什么原因导致读取速度如此之慢。可能是React Native的获取,还是我的查询设置方式?
这是我对React Native的获取:
forceUpdateHandler(){
fetch(`https://www.example.com/React/user-profile.php?username=${this.state.username}` , {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
})
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson,
user_image: responseJson[0].user_images.map(item => ({ ...item, progress: new Animated.Value(0), unprogress: new Animated.Value(1) })),
},function() {
});
})
.catch((error) => {
//console.error(error);
});
}
这是我对mysql的PHP查询:
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Getting the received JSON into $json variable.
$json = file_get_contents('php://input');
// decoding the received JSON and store into $obj variable.
$obj = json_decode($json,true);
// Populate Username from JSON $obj array and store into $username.
$username = $_GET['username'];
$result = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'");
$fetch = mysqli_query($conn, "SELECT id, images, note, date FROM user_images WHERE username='$username' ORDER BY date DESC");
// I think, you'll get a single row, so no need to loop
$json = mysqli_fetch_array($result, MYSQL_ASSOC);
$json2 = array();
while ($row = mysqli_fetch_assoc($fetch)){
//Our YYYY-MM-DD date.
$ymd = $row['date'];
//Convert it into a timestamp.
$timestamp = strtotime($ymd);
//Convert it to DD-MM-YYYY
$dmy = date("m/d/Y", $timestamp);
$json2[] = array(
'id' => $row["id"],
'images' => $row["images"],
'note' => $row["note"],
'date' => $dmy,
);
}
$json['user_images'] = $json2;
echo json_encode(array($json));
$conn->close();
此数据只有5列数据,但是当我将其限制为1时,react native会快速获取数据。有没有一种方法可以在我仍然拥有所有数据结果的同时加快获取速度?
答案 0 :(得分:0)