我用react脚手架怎么取到mysql数据库的值
时间: 2023-09-28 17:09:52 浏览: 179
react-express-mysql:react前端, express后端, mysql作为数据库, 第一次成功地组合了起来
React是一个UI框架,本身并不提供访问数据库的能力。如果你想在React应用程序中访问MySQL数据库,你需要使用一个后端框架来处理数据库查询,并从React应用程序中发送HTTP请求来访问这个后端API。
常用的后端框架有Express、Koa、Hapi等。在这里,我们以Express为例,介绍如何从React应用程序中访问MySQL数据库。
首先,你需要安装MySQL数据库,并使用Node.js驱动程序连接到它。可以使用mysql2或mysqljs等库来连接MySQL数据库。例如:
```
const mysql = require('mysql2/promise');
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'my_database'
});
const [rows, fields] = await connection.execute('SELECT * FROM my_table');
```
这个代码片段使用mysql2库连接到MySQL数据库,并执行一个SELECT查询。查询结果存储在`rows`变量中。
接下来,你需要在Express应用程序中定义一个API端点,用于从React应用程序中访问MySQL数据库。例如:
```
const express = require('express');
const mysql = require('mysql2/promise');
const app = express();
app.get('/data', async (req, res) => {
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'my_database'
});
const [rows, fields] = await connection.execute('SELECT * FROM my_table');
res.json(rows);
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
```
这个代码片段使用Express框架定义了一个名为`/data`的API端点,用于从MySQL数据库中获取数据并将其返回给React应用程序。当React应用程序发送HTTP GET请求到`/data`端点时,Express应用程序将查询MySQL数据库,并将结果作为JSON响应发送回去。
最后,在React应用程序中,你可以使用Axios或Fetch等库来发送HTTP请求,从而访问这个后端API。例如:
```
import React, { useState, useEffect } from 'react';
import axios from 'axios';
function App() {
const [data, setData] = useState([]);
useEffect(() => {
async function fetchData() {
const response = await axios.get('/data');
setData(response.data);
}
fetchData();
}, []);
return (
<div>
{data.map(item => (
<div>{item.name}</div>
))}
</div>
);
}
export default App;
```
这个代码片段使用Axios库发送HTTP GET请求到`/data`端点,并将响应数据存储在`data`状态变量中。然后,使用`map`函数将数据渲染为React组件。
需要注意的是,这个代码片段假设后端API运行在同一个主机上,并使用默认端口3000。如果你的后端API运行在不同的主机或端口上,需要相应地修改Axios请求的URL。
总的来说,从React应用程序中访问MySQL数据库需要连接到数据库、定义Express API端点和使用Axios发送HTTP请求等多个步骤。但是,这些步骤都是相对独立的,你可以根据自己的需求和技能水平来选择和实现。
阅读全文