columns我的表格组件数组中有一个列react-table,需要在单元格内渲染一个下拉按钮,以允许用户将该行数据渲染到另一个模式组件中进行编辑。
我正在使用dropdownToggles一个布尔数组 - 设置为与表中的行数相同的长度 - 跟踪行中的哪个下拉列表应设置为isOpen。
无论如何,我是否可以访问 中数据的行索引,columns以便我可以将索引传递给isOpen={dropdownToggles[i]}和toggle={() => setDropdownToggles(handleDropdownToggles(i))}
?
import React, { useState, useEffect, useMemo } from "react";
import { useSelector } from "react-redux";
import { Dropdown } from "reactstrap";
const Table = () => {
const { tasks } = useSelector(state => state.data);
const numTasks = tasks.data.length;
const [dropdownToggles, setDropdownToggles] = useState([]);
useEffect(() => {
setDropdownToggles(new Array(numTasks).fill(false));
}, [numTasks]);
const data = useMemo(() => tasks.data, …Run Code Online (Sandbox Code Playgroud) 我最初使用的是 mysql 8.0,这给了我错误
ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
当尝试运行我的服务器时。我在多个来源看到降级到 mysql@5.7 可以解决问题,因为 5.7 使用本机密码身份验证,但降级到早期版本后仍然存在相同的错误。是否还有其他已知原因导致错误仍然存在?
这是我的配置文件:
config.js
// import dependencies
const util = require("util");
const mysql = require("mysql");
// import environment variables
const env = {
env: process.env.NODE_ENV,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD
}
const database = mysql.createConnection({
host: env.host,
database: env.database,
user: env.user,
password: env.password
});
database.connect(err => {
if (err) {
console.log("Connection " + err);
} else {
console.log(`Connection Success: You are now connected to the ${env.env} database`);
}
});
// …Run Code Online (Sandbox Code Playgroud)