小编Ed *_*cas的帖子

React 测试库:匹配按钮数量

我使用 create-react-app 创建了一个应用程序。下面是我的计数器组件和测试文件。我正在尝试为组件中的三个静态按钮创建一个测试。第一个测试运行良好,而第二个测试给出了下面提供的错误。

反应成分:

    import React from "react";
    import PropTypes from "prop-types";
    import classes from "./Counter.module.css";
    function Counter(props) {
      return (
        <div className={classes.Wrapper}>
          <div>
            <p>
              Click Counter -  {props.value}
            </p>
          </div>
          <div>
            <button onClick={props.counterIncrement} className={classes.custButton} name="first"> Increment </button>
            {/* <button onClick={props.counterDecrement} className={classes.custButton}> Decrement </button>
            <button onClick={props.resetCounter} className={classes.custButton}> Reset </button> */}
          </div>
        </div>
      );
    }
    Counter.propTypes = {
      value: PropTypes.number,
      clickHandler: PropTypes.func,
    };
    export default Counter;
Run Code Online (Sandbox Code Playgroud)

测试文件:

    import React from 'react'
    import {render, fireEvent, screen, cleanup} from '@testing-library/react'
    
    import Counter from …
Run Code Online (Sandbox Code Playgroud)

reactjs react-testing-library

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

React - useEffect 与异步 setState 导致额外的重新渲染

我这里有一个 React 钩子

export const useConfigDetails = (resourceName: string) => {
  const [isLoading, setLoading] = React.useState<boolean>(true);
  const [error, setError] = React.useState<AxiosError>(undefined);
  const [allEnvDetails, setAllEnvDetails] = React.useState<ResourceDetails[]>();


  React.useEffect(() => {
   const configPromises = ['dev', 'stage', 'prod'].map((environment: Environment) =>
    axios.get('someUrlGetEndpoint'));

    Promise.all(configPromises)
      .then((resp: ResourceDetails[]) => setAllEnvDetails(resp))
      .catch((err: AxiosError) => setError(err))
      .finally(() => setLoading(false));
  }, [resourceName]);

  return { allEnvDetails, isLoading };
};
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标 - 每当resourceName发生更改时,它都需要刷新并调用所有不同的环境 ( dev, stage and prod),并返回最新的allEnvDetails。它应该避免其他重新渲染

理想情况下,axios.get对应于 3 个环境的调用应该只有 3个。但是,它被调用了 9 次(每个环境调用 3 …

promise reactjs react-hooks

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

如何将 Tailwind CSS 滚动平滑类添加到 Next.js

我想向我的 Next.js 应用程序添加平滑的滚动行为,Tailwind CSS 文档指示我们在<html/>.

    <html class="scroll-smooth ">
      <!-- ... -->
    </html>
Run Code Online (Sandbox Code Playgroud)

该文件不包含html标签:

  import Head from "next/head";
  import "@material-tailwind/react/tailwind.css";
  import "../styles/globals.css";
 
    function MyApp({ Component, pageProps }) {
      return (
        <>
          <Head>
            <link
              href="https://fonts.googleapis.com/icon?family=Material+Icons"
              rel="stylesheet"
            />
          </Head>
    
            <Component {...pageProps} />
    
        </>
      );
    }
    
    export default MyApp;
Run Code Online (Sandbox Code Playgroud)

如何以及在哪里可以smooth-scroll在我的项目中添加实用程序类?

next.js tailwind-css

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

使用 HeadlessUI 以编程方式关闭所有披露

我有一个在页面加载时<Disclosure>设置的列表(大约 10 个)。defaultOpen

我想通过单击按钮以编程方式关闭披露。例如,按钮会读取内容close all,单击后信息披露将关闭。

const [open, setOpen] = useState(true)

const close = () => {setOpen(false)}

<button onClick={close}>Close All</button>

<Disclosure defaultOpen>
  <Disclosure.Button>Open/Close</Disclosure.Button>
  <Disclosure.Panel>
    <p>disclosure1</p>
  </Disclosure.Panel>
</Disclosure>

<Disclosure defaultOpen>
  <Disclosure.Button>Open/Close</Disclosure.Button>
  <Disclosure.Panel>
    <p>disclosure2</p>
  </Disclosure.Panel>
</Disclosure>

<Disclosure defaultOpen>
  <Disclosure.Button>Open/Close</Disclosure.Button>
  <Disclosure.Panel>
    <p>disclosure3</p>
  </Disclosure.Panel>
</Disclosure>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?从我发现的文档中:

      <Disclosure.Panel>
        {({ close }) => (
          <button
            onClick={async () => {
              await fetch('/accept-terms', { method: 'POST' })
              close()
            }}
          >
            Read and accept
          </button>
        )}
      </Disclosure.Panel>
Run Code Online (Sandbox Code Playgroud)

但如果不手动单击,我找不到其他任何东西来关闭它们<Disclosure.Button/>

javascript reactjs headless-ui

5
推荐指数
0
解决办法
978
查看次数

如何在 Tailwind CSS 中使用 HTML &lt;picture&gt; 标签

如何将<picture>标签与 Tailwind CSS 一起使用?或者更具体地说,我如何在其中使用 Tailwind 的媒体查询?

<picture>
  <source media="(min-width:650px)" srcset="img_pink_flowers.jpg">
  <source media="(min-width:465px)" srcset="img_white_flower.jpg">
  <img src="img_orange_flowers.jpg" alt="Flowers" style="width:auto;">
</picture> 
Run Code Online (Sandbox Code Playgroud)

tailwind-css

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

如何更改 Antd 表格中的字体大小

我尝试更改fontSize,但没有生效:

<Table
  style={{overflow: 'hidden', width: '100%', fontSize: '10px'}}
  dataSource={data.dataSource}
  columns={columns}
  size='small'
  bordered
  pagination={false}
/>
Run Code Online (Sandbox Code Playgroud)

而且我的桌子不适合这个街区。仅显示 3 列,其余的消失。如何解决这个问题?

javascript size font-size reactjs antd

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

Tailwind CSS 类无法与 React 一起使用,错误“您需要启用 JavaScript 才能运行此应用程序...”

Talwind CSS 不适用于 React。我已经按照文档(https://v1.tailwindcss.com/docs/installation)安装了 Tailwind CSS,我的代码如下。

有人能帮我吗?

这是我的浏览器检查图片,以了解我的问题

这是我的 package.json 文件

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.2",
    "@testing-library/react": "^12.1.2",
    "@testing-library/user-event": "^13.5.0",
    "autoprefixer": "^10.4.2",
    "postcss-cli": "^9.1.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "5.0.0",
    "tailwindcss": "^3.0.18",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "build:css": "postcss src/assets/css/tailwind.css -o src/assets/css/style.css",
    "start": "npm run build:css && react-scripts start ",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [ …
Run Code Online (Sandbox Code Playgroud)

reactjs tailwind-css tailwind-ui

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

找不到模块“@tailwindcss/aspect-ratio”的声明文件

根据标题得到错误。我找到的解决方案是针对 Typescript 的,由于我对 JS 和 Tailwind 很陌生,所以我无法从中得到任何东西。我该如何解决这个问题?

    module.exports = {
      content: [],
      theme: {
        extend: {},
      },
      plugins: [
        require('@tailwindcss/aspect-ratio'),
      ],
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

reactjs tailwind-css

4
推荐指数
1
解决办法
8545
查看次数

为什么我的Vite React项目中的Tailwind类没有生效?

我有一个 Vite React 项目,通过 PostCSS 使用 Tailwind。但是,没有一个类反映本地主机。以下是项目中的文件:

postcss.config.js:

module.exports = {
    plugins: {
        tailwindcss: {},
        autoprefixer: {},
    }
}
Run Code Online (Sandbox Code Playgroud)

tailwind.config.js:

module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}
Run Code Online (Sandbox Code Playgroud)

应用程序.js:

const App = () => {
  return (
    <div className="App">
      <h1 class="text-3xl font-bold underline">
        Hello world!
      </h1>
    </div>
  )
}
export default App
Run Code Online (Sandbox Code Playgroud)

这一切都是按照 Tailwind 文档中的说明完成的,网址为https://tailwindcss.com/docs/installation/using-postcss

为什么不起作用?

reactjs postcss tailwind-css vite

4
推荐指数
1
解决办法
3718
查看次数

Tailwind CSS 复选框样式不起作用

我的 Next.js 项目中有一个复选框,添加一些 Tailwind 实用程序类后,除了宽度、高度和光标的更改之外,没有任何效果。颜色、背景、边框等不起作用。

        <div className="flex py-4 m-auto w-2/3 justify-between items-start">
          <div className="w-1/7">
            <div className="border-b pb-4">
              <h1 className="mb-2 font-medium">Filter 1</h1>
              <label htmlFor="c1">
                <div className="flex group active:ring-2 ring-black rounded">
                  <input
                    id="c1"
                    type="checkbox"
                    className="rounded-full h-8 w-8 cursor-pointer bg-red-100 border-red-300 text-red-600 focus:ring-red-200"
                  />
                  <p className="pl-2 text-reg cursor-pointer group-hover:underline decoration-solid">
                    Subfilter 1
                  </p>
                </div>
              </label>
            </div>
          </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

cursor-pointerh-8w-8是唯一在该复选框中工作的实用程序类。color仍然默认为蓝色,焦点上没有出现环,并且bg仍然是白色。

示例代码中的其他元素(如pdiv和 )h1运行良好。

html checkbox jsx next.js tailwind-css

4
推荐指数
1
解决办法
8671
查看次数