MySQL 从 html 中的 node.js 结果,通过 react.js

标签 mysql node.js reactjs

我用 Node 和 reacc 创建了我的第一个 Web 应用程序。 我在 node.js 中执行 sql 查询并在我的页面中显示 html 元素。 我需要帮助将我的 html 页面中的 sql 结果作为 json 日期。 我把一些代码和我的实验放在一起,这可能是非常错误的。 问候。

var React = require('react');
var DefaultLayout = require('./layout/master');

var mysql = require('mysql');

var connection = mysql.createConnection({
    port: '3301',
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'nodedb',
});
connection.connect();

function getArticless() {
    connection.query('select * from articles', function(err, result) {
        if (err) 
            JSON.stringify(err);
        else
            JSON.stringify(result);
    });
}

const jsonArticles = getArticless();

var IndexComponent = React.createClass({
    render: function() {
        return (
            <DefaultLayout name={this.props.name}>
                <div>
                    {jsonArticles }
                </div>
            </DefaultLayout>
        )
    }
});

module.exports = IndexComponent;

最佳答案

我不熟悉服务器端渲染与 React 的细微差别,但是您的代码有一个突出的问题。我不确定解决这个问题是否会让一切正常,但它肯定不会解决这个问题。

getArticles 是一个不返回任何内容的函数,但您调用它时就好像它是一个有返回值的函数一样。现在,即使您向该函数添加 return 语句,它仍会返回 undefined,因为对数据库的调用是异步发生的。这意味着该函数将在实际从数据库中检索数据之前返回。此函数至少需要传入回调,否则您可以查看 mysql-promise 库并改用它。

关于MySQL 从 html 中的 node.js 结果,通过 react.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710453/

相关文章:

javascript - TS错误: Type 'unknown' is not assignable to type 'FunctionComponent<any> due to withRouter

Mysql 两个亚马逊实例之间的通信

javascript - 如何在嵌套的 javascript 对象上使用扩展运算符?

java - 从其他电脑连接到本地Mysql服务器

mysql - 如何使用sequelize获取对象数据?

node.js - Mongoose:ObjectId 比较失败不一致

javascript - 从 Facebook Messenger 中检索 first_name 会导致 [object Promise]

mysql - 使用 Passport.js 、 React js 、 MySQL 进行用户注册和登录系统

php - MySQL 选择逻辑

php - 你使用 mysql_error($con) 还是 mysql_insert_id($con) 来检查插入结果?