小编Seb*_*cia的帖子

Nextjs 没有编译所有的 tailwindcss 类

我正在尝试在我的 Nextjs 项目中使用 Tailwindcss。问题是 Tailwind Css 内置的某些类不起作用(如 grid 或 active: 伪类)。

我有这个页面:

索引.jsx

import React from "react";

const Index = () => (
  <div className="grid grid-cols-3 gap-4">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
  </div>
);
export default Index;
Run Code Online (Sandbox Code Playgroud)

这呈现:

没有网格类的视图

代替:

使用网格类查看

我将 Nextjs 配置为使用 Tailwindcss(只使用 postcss.config.js 而没有 Nextcss,因为 postcss 已经在这个版本的 Nextjs v9.2.1 中)

postcss.config.js

module.exports = {
  plugins: ["tailwindcss", "autoprefixer"]
};

Run Code Online (Sandbox Code Playgroud)

并添加了全局styles/main

@tailwind base;
@tailwind components;
@tailwind utilities;
Run Code Online (Sandbox Code Playgroud)

_app.jsx这样的:

页面/_app.jsx

/* eslint-disable react/jsx-props-no-spreading */ …
Run Code Online (Sandbox Code Playgroud)

reactjs postcss next.js tailwind-css

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

如何将useState挂钩与异步调用一起使用以更改数组?

我正在尝试从放置请求更新数组

const [descriptors, setDescriptors] = useState([]);

const handleDescriptorUpdate = (id, descriptorData) => {
    services
      .putDescriptor(id, descriptorData)
      .then((response) => {
        const descriptorIndex = _.findIndex(descriptors, (e) => e.id === id);
        if (descriptorIndex !== -1) {
          const tempDescriptors = [...descriptors];
          tempDescriptors[descriptorIndex] = response.data;
          setDescriptors(tempDescriptors);
        }
      })
      .catch((error) => {
        console.error(error);
      });
  };
Run Code Online (Sandbox Code Playgroud)

当我一次仅执行1个请求时,这很好用,但是当我单击执行两次承诺的更新的按钮时,而不是散布数组并用新的新值更新旧值,两者都散布了同一数组导致在解决第二个承诺时,它将使用从服务器BUT返回的新值(第二个值)更新状态,将新值(第一个承诺更改的一个)更改为其原始值。

描述符最初由对象数组填充(来自get请求):

[
  {
    "id": 24,
    "name": "Test 4.1",
    "percentage": 0,
    "towerId": "5cfc9200-c04a-11e9-89c0-2dd5d3707b1b"
  },
  {
    "id": 23,
    "name": "Test 3.1",
    "percentage": 0,
    "towerId": "5cfc9200-c04a-11e9-89c0-2dd5d3707b1b"
  }
]
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

(EACCES:权限被拒绝,mkdir '/usr/app/node_modules/.cache)如何创建 docker-compose 文件以使 node_modules 成为非根文件夹?

我正在尝试 dockerize 一个简单的 create-react-app 项目。(是运行后的初始项目npx create-react-app test,没有更改文件)。

这个问题似乎是,在新版本做出反应,他们把恼人.eslintcache的根文件夹中/node_modules/.cache,造成问题当容器试图通过运行该应用程序docker-compose

文件

FROM node:alpine

WORKDIR /usr/app

COPY package*.json ./

RUN npm install

RUN chown -R node.node /usr/app/node_modules

COPY . ./

CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)

docker-compose

FROM node:alpine

WORKDIR /usr/app

COPY package*.json ./

RUN npm install

RUN chown -R node.node /usr/app/node_modules

COPY . ./

CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)

容器正在记录此错误消息:

test_1   | Failed to compile.
test_1   | 
test_1   | EACCES: permission denied, mkdir '/usr/app/node_modules/.cache
Run Code Online (Sandbox Code Playgroud)

如您所见,我尝试将 …

npm docker docker-compose create-react-app

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