小编Gre*_*fan的帖子

Material UI:如何更改 DatePicker 文本和日历图标颜色?

我正在尝试更改 MUI X DatePicker(带有 Material UI)日期文本和日历图标颜色。
我尝试将其传递样式更改为 InputProps,但它仅适用于删除边框。
相反,没有任何改变,我尝试将样式应用于 theme.tsx,但它也没有帮助。任何帮助将不胜感激。

import * as React from "react";
import Stack from "@mui/material/Stack";
import TextField from "@mui/material/TextField";
import AdapterDateFns from "@mui/lab/AdapterDateFns";
import LocalizationProvider from "@mui/lab/LocalizationProvider";
import DesktopDatePicker from "@mui/lab/DesktopDatePicker";
import { makeStyles, createStyles } from "@material-ui/core";

const useStyles = makeStyles(() =>
  createStyles({
    noBorder: {
      outline: "none",
      border: "none",
      color: "#fff",
    },
  })
);

export default function DatePicker() {
  const [value, setValue] = React.useState<Date | null>();
  const classes = useStyles();

  const handleChange = (newvalue: …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui mui-x mui-x-date-picker

15
推荐指数
1
解决办法
3万
查看次数

Docker:EACCES:权限被拒绝,mkdir '/app/node_modules/.cache'

我在尝试在 React 应用程序中构建 docker 容器时遇到权限错误。
\n我尝试利用社区答案,但没有帮助。
\n以下相关讨论我尝试过:

\n
    \n
  • 我得到当前用户:id -un
  • \n
  • 尝试过这个:sudo chown -R myUser:myUser /usr/local/lib/node_modules
  • \n
  • 这也引发了同样的错误:sudo chown -R ownerName: /usr/local/lib/node_modules
  • \n
  • 与此相同:sudo chown -R $USER /usr/local/lib/node_modules
  • \n
  • 添加用户没有帮助:sudo chown -R $USER /app/node_modules
  • \n
  • 尝试授予安装此权限的权限:sudo npm install -g --unsafe-perm=true --allow-root
  • \n
  • 另一种尝试是删除node_modules并安装指定sudosudo npm install
  • \n
\n

将其添加到docker-compose文件中也没有帮助:

\n
environment:\n      - CHOKIDAR_USEPOLLING=true\n
Run Code Online (Sandbox Code Playgroud)\n

我正在尝试使用以下命令进行构建:docker-compose up --build

\n

Dockerfile.dev 文件

\n
FROM node:alpine\n\nWORKDIR \'/app\'\n\nCOPY …
Run Code Online (Sandbox Code Playgroud)

npm docker reactjs

9
推荐指数
1
解决办法
2万
查看次数

如何使用 React 测试库测试输入?

我正在尝试通过 React 测试库测试组件input的值Search

搜索组件接收两个属性:handleChangeinput value: title

我的目标是编写测试,以便最初输入值为空,当用户键入内容时,测试可以验证监听事件值是否正确,但它始终获取初始值。

我试图在键入之前清除输入,但它不起作用。

错误是:

 Expected the element to have value:
                       // indicates as empty string which I expect
                    
    Received:
      test            // it is still the default value: `test`, UserEvent.clear didn't clear
Run Code Online (Sandbox Code Playgroud)

这是两个测试,首先检查输入最初是否为空,这工作正常,第二个测试监听输入。

import { fireEvent, screen, waitFor } from "@testing-library/react";
import Search from "../Search";
import { render } from "../../../test-utils/test-utils";
import "@testing-library/jest-dom";
import userEvent from "@testing-library/user-event";

const mockedOnChange = jest.fn();

describe("input should be filled with title", …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs jestjs react-testing-library

6
推荐指数
1
解决办法
2万
查看次数

NextAuth:如何实现自定义Provider?

按照NextAuth.js 文档,我成功地实现了登录 github,这似乎非常简单。

页面/auth/[...nextauth].js

import NextAuth from "next-auth";
import GithubProvider from "next-auth/providers/github";

export const authOptions = {
  providers: [
    GithubProvider({
      clientId: process.env.GITHUB_ID,
      clientSecret: process.env.GITHUB_SECRET,
    }),
  ],

};
export default NextAuth(authOptions);
Run Code Online (Sandbox Code Playgroud)

然后将应用程序包装起来SessionProvider,就可以开始了。

import { SessionProvider } from "next-auth/react";
import { Session } from "next-auth";
import type { AppProps } from "next/app";
import "../styles/globals.css";

export default function App({
  Component,
  pageProps,
}: AppProps<{
  session: Session;
}>) {
  return (
    <SessionProvider session={pageProps.session}>
      <Component {...pageProps} />
    </SessionProvider>
  );
}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用 …

github reactjs next.js next-auth

6
推荐指数
1
解决办法
1万
查看次数

如何禁用 React Material ui DataGrid 单元格/字段复选框选择?

我在同一材质 UI DataGrid 表单元格/字段中选择复选框和链接时遇到问题。
问题是其中一个单元格应该有一个外部链接,单击该单元格会重定向到另一个页面,复选框也会被选中。
所以我的目标是禁用这个特定单元格/字段上的复选框选择。
在 Mui 文档中有一个disableSelectionOnClickapi,它只允许从复选框进行检查,但不能从单元格或行进行检查。所以这不是我想要的。我仍然希望能够从除具有链接的单元格之外的行进行检查。在下面提供的示例中,应禁用检查的特定单元格名称是total marks。代码示例和沙箱链接

import * as React from "react";
import { DataGrid } from "@mui/x-data-grid";
import Link from "@mui/material/Link";

const getTotal = (params) =>
  params.getValue(params.id, "maths") + params.getValue(params.id, "science");

const columns = [
  { field: "maths", headerName: "Maths", width: 130 },
  { field: "science", headerName: "Science", width: 130 },
  {
    field: "Total",
    headerName: "Total marks",
    width: 160,
    valueGetter: getTotal,
    editable: true,
    renderCell: (cellValues) => (
      <Link
        target="_blank"
        rel="noopener …
Run Code Online (Sandbox Code Playgroud)

datagrid reactjs material-ui

5
推荐指数
1
解决办法
1万
查看次数

React Hooks:如何向服务器发出 POST 请求

我是初学者。我试图以简单的形式实现来自 React.js 的 POST 请求,但我不知道如何将 POST 请求发送到数据库。我想我也需要<form action="URL">。任何帮助将不胜感激。下面是 React.js(frontend) 的代码

import GameTestResult from './GameTestResult';

export default function App() {
 const[data, setData] = useState([]);
 const [formData, setFormData] = useState("");

 useEffect (() => {
  fetch('http://localhost:3000/game')
  .then(res => res.json()) 
 .then(result => setData(result.rows))
  .catch(err => console.log("error"))
  },[]);

  const handleChange = event => {
    setFormData(event.target.value)
    }
    
    const eventHandler = event => {
      event.preventDefault();
      setFormData("");
    }

  return (
    <div className="App">
        <form  method="post" onSubmit = {eventHandler}>
          <input value = {formData} onChange = {handleChange} />
          <button …
Run Code Online (Sandbox Code Playgroud)

node.js express reactjs

2
推荐指数
1
解决办法
7674
查看次数