javascript - React js连接数据库

标签 javascript mysql reactjs

如何将我的 reactjs 连接到 mysql? 我已经安装了 mysql 并按照通用说明进行连接,但它不起作用。它得到一个错误“TypeError:mysql.createConnection 不是一个函数”。

下面是我的代码。

import React, { Component } from 'react';
import * as mysql from 'mysql';

class Users extends Component {


    constructor(props){


        const mysql = require('mysql');

        const connection = mysql.createConnection({
          host: 'localhost',
          user: 'root',
          password: '',
          database: 'react_prac'
        });
        connection.connect();
         console.log(connection);


        super(props);
    }

    render() { 
        return (  
            <div>
                DB
            </div>
        );
    }
}

export default Users;

我也想知道这是不是正确的方法。

谢谢。

最佳答案

将重要的 MySQL 移动到导入语句的顶部。可能需要不适合你

    import mysql from 'mysql';

还要确保 super 总是在构造函数的第一行

更新代码:

   import React, { Component } from 'react';
   import mysql from 'mysql';
   class Users extends Component {
       constructor(props){
           super(props);
           const connection = mysql.createConnection({
           host: 'localhost',
           user: 'root',
           password: '',
           database: 'react_prac'
        });
       connection.connect();
       console.log(connection);
    }

render() { 
    return (  
        <div>
            DB
        </div>
    );
   }
 }

 export default Users;

更新:

  It seems DB connection is not possible from front end. It should be done in the backend, for better understanding check this answer

Error in MySQL library for Node.js

关于javascript - React js连接数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54819311/

相关文章:

javascript - 类型错误 : Cannot read property 'scrollIntoView' of null

javascript - 获取与正则表达式匹配的 HTML 单词的 XPATH

javascript - 类型不匹配;发现 : Some[String] required: play. api.templates.Html

javascript - 滚动动画结合 snap.js

php - 如何通过电子邮件发送多行订单详细信息

php - GROUP_CONCAT 或用于将多对一 MySQL 结果分组的替代方法

javascript - 不使用提交按钮提交表单

mysql - 仅当记录存在于 Rails 中时,如何删除它?

javascript - 在expo React-Native项目中找不到模块 'metro/src/lib/TerminalReporter'

reactjs - 一次只能展开折叠 (material-ui) - React