Ошибка React #321

124
15 ноября 2021, 01:30

Написал свой тестовый React-компонент, выложил на npm, попытался подкачать его в другой проект и при рендеринге выдает такое сообщение:

Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

Использую хуки реакта.

Излазил весь интернет уже, менял dependencies в package.json этого самого компонента, не помогает ничего. Везде пишут, что проблема в том, что у меня 2 реакта в приложении конфликтуют, что бы это не значило. Помогите

package.json компонента:

{
"name": "@chamond/react-components",
"description": "a react components library",
"version": "0.0.19",
"private": false,
"main": "build/index.js",
"files": [
    "build/"
],
"peerDependencies": {
    "react": "^16.10.0",
    "react-dom": "^16.10.0",
    "prop-types": "^15.7.2"
},
"scripts": {
    "start": "react-scripts start",
    "build": "webpack"
},
"browserslist": {
    "production": [
        ">0.2%",
        "not dead",
        "not op_mini all"
    ],
    "development": [
        "last 1 chrome version",
        "last 1 firefox version",
        "last 1 safari version"
    ]
},
"devDependencies": {
    "roboto-fontface": "^0.10.0",
    "@fortawesome/fontawesome-free": "^5.11.2",
    "material-colors": "^1.2.6",
    "react-scripts": "3.1.2",
    "@babel/cli": "^7.7.0",
    "@babel/preset-react": "^7.7.0",
    "css-loader": "^3.2.0",
    "file-loader": "^4.2.0",
    "node-sass": "^4.13.0",
    "path": "^0.12.7",
    "sass-loader": "^8.0.0",
    "style-loader": "^1.0.0",
    "webpack-cli": "^3.3.10"
}

}

Answer 1

Проверьте версии реакт - должны совпадать. Или же возникает циклическая зависимость библиотек. Это решается путем перемещения react в dependencies

Answer 2

Я тоже попытался начать использовать хуки и получил точно такую же ошибку. Как выяснилось, это из-за того что WebStorm неправильно подтянул импорты. Вот такие импорты выдывали ошибку:

import * as React from "react";
import {useState} from "react/cjs/react.production.min";

Ошибка исчезла после того как я установил правильный источник для useState:

import * as React from "react";
import {useState} from "react";
READ ALSO
sockjs-client в ie и edge

sockjs-client в ie и edge

Друзья фронтэндеры, прошу помочь бэку

171
Promise не не выполняет resolve через .then, а выполняет .catch

Promise не не выполняет resolve через .then, а выполняет .catch

Помогите, пожалуйста, разобраться в Promise на JSВесь код здесь: https://jsfiddle

72
Не показывать пустую страницу до загрузки всех изображений

Не показывать пустую страницу до загрузки всех изображений

У меня есть галерея изображений, в которой все изображения рендерятся очень грубо говоря вот по такому шаблону

188
C# Потоки. Ввод данных и не корректное отображение

C# Потоки. Ввод данных и не корректное отображение

Создал второй поток для отображения нажатой клавиши НО Первая обработка происходит с Main потока, а со второго никакой информации, и только...

73