Был ли у кого-нибудь «ReferenceError: React is not defined» в разделе «Роли и разрешения» после создания Strapi API? - PullRequest
1 голос
/ 19 июня 2020

До сегодняшнего дня у меня не было никаких проблем. Я хотел создать новый Strapi API, но всегда получаю

ReferenceError: React is not defined

в меню настроек ролей и разрешений, когда я хочу изменить роль. Список ролей:

Роли и разрешения

Но когда я пытаюсь изменить одну из них, я получаю:

Попытка изменить их

Я пробовал создать up с помощью пряжи и npx. Результат был одинаковым для них обоих. Я пробовал также создать его с помощью sqlite и postgres.

Я могу просто добавить, что мой старый API все еще работает правильно.

Версия Strapi: 3.0.3

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

скопируйте решение из Strapi GitHub closed issue, ответ пользователя: soupette .

Привет, @everyone, есть открытый PR, который решает проблему, мы очень сожалеем об этой проблеме и этого не должно было случиться. Тем временем, пока не будет выпущен выпуск, вот обходной путь, чтобы ваше администрирование работало:

Создайте файл extension / users-permissions / admin / src / components / Controller / index. js:

mkdir -p extensions/users-permissions/admin/src/components/Controller
touch extensions/users-permissions/admin/src/components/Controller/index.js

Скопируйте следующее содержимое:

/**
 *
 * Controller
 *
 */
import React from 'react';
import PropTypes from 'prop-types';
import { get, map } from 'lodash';
import { FormattedMessage } from 'react-intl';
import pluginId from '../../pluginId';
import { useEditPageContext } from '../../contexts/EditPage';
import InputCheckbox from '../InputCheckboxPlugin';

import { Header, Label, Separator, Wrapper } from './Components';

function Controller({ actions, inputNamePath, isOpen, name, inputSelected, setInputSelected }) {
  const { selectAllActions } = useEditPageContext();

  const areAllActionsSelected = () => {
    return Object.keys(actions).every(action => actions[action].enabled === true);
  };

  const handleChange = () => {
    selectAllActions(`${inputNamePath}.controllers.${name}`, !areAllActionsSelected());
  };

  const hasSomeActionsSelected = () => {
    return Object.keys(actions).some(action => actions[action].enabled === true);
  };

  const setNewInputSelected = name => {
    setInputSelected(name);
  };

  const labelId = areAllActionsSelected() ? 'unselectAll' : 'selectAll';

  return (
    <Wrapper>
      <Header>
        <div>{name}</div>
        <Separator />
        <div className="checkbox-wrapper">
          <div className="form-check">
            <Label
              className={`form-check-label ${areAllActionsSelected() &&
                'checked'} ${!areAllActionsSelected() &&
                hasSomeActionsSelected() &&
                'some-checked'}`}
              htmlFor={name}
            >
              <input
                className="form-check-input"
                checked={areAllActionsSelected()}
                id={name}
                name={name}
                onChange={handleChange}
                type="checkbox"
              />
              <FormattedMessage id={`${pluginId}.Controller.${labelId}`} />
            </Label>
          </div>
        </div>
      </Header>
      <div className="row">
        {map(Object.keys(actions).sort(), actionKey => (
          <InputCheckbox
            inputSelected={inputSelected}
            isOpen={isOpen}
            key={actionKey}
            label={actionKey}
            name={`${inputNamePath}.controllers.${name}.${actionKey}.enabled`}
            setNewInputSelected={setNewInputSelected}
            value={get(actions[actionKey], 'enabled')}
          />
        ))}
      </div>
    </Wrapper>
  );
}

Controller.defaultProps = {
  actions: {},
  inputNamePath: 'permissions.application',
  name: '',
};

Controller.propTypes = {
  actions: PropTypes.object,
  inputNamePath: PropTypes.string,
  isOpen: PropTypes.bool.isRequired,
  name: PropTypes.string,
};

export default Controller;

Перестройте приложение

# Using yarn
yarn strapi build --clean
# Using npm
npm run strapi build --clean
0 голосов
/ 19 июня 2020

Сегодня возникла такая же проблема.

Был последний выпуск v3.0.4, в который включено исправление этой ошибки.

https://github.com/strapi/strapi/releases/tag/v3.0.4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...