SPLoaderError.loadComponentError: Не удалось загрузить компонент - PullRequest
0 голосов
/ 26 марта 2019

Разработал приложение SharePoint в SPFX Framework, когда я компилирую его с помощью gulp build, он компилируется нормально, однако, когда я выполняю gulp serve, добавляю приложение в рабочую среду и получаю следующую ошибку:

[SPLoaderError.loadComponentError]: *** Не удалось загрузить компонент "6d68696e-6767-4686-9cd4-60788de11f47" (DocumentUploadWebPart). Исходная ошибка: *** Не удалось загрузить точку входа из компонента "6d68696e-6767-4686-9cd4-60788de11f47" (DocumentUploadWebPart). Исходная ошибка: Ошибка загрузки https://component -id.invalid / 6d68696e-6767-4686-9cd4-60788de11f47_0.0.1 external__react_.createClass не является функцией *** INNERERROR: *** Не удалось загрузить точку входа из компонента "6d68696e-6767-4686-9cd4-60788de11f47" (DocumentUploadWebPart). Исходная ошибка: Ошибка загрузки https://component -id.invalid / 6d68696e-6767-4686-9cd4-60788de11f47_0.0.1 external__react_.createClass не является функцией ***СТЕК ВЫЗОВОВ: SPError @ https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:8671:24 SPLoaderError @ https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:4127:21 WEBPACK_AMD_DEFINE_RESULT https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:3786:21 WEBPACK_AMD_DEFINE_RESULT https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:3694:16 _loadComponentImpl / <@ <a href="https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:6939:15" rel="nofollow noreferrer">https://localhost:4321/temp/workbench-packages/@microsoft_sp-loader/dist/sp-loader-assembly_default.js:6939:15

DocumentUpload.tsx

var App = React.createClass({ getInitialState() {
return { text: 'Enter Rich Text Description' }; },

render() {
var divStyle = {
  background: "#eee",
  padding: "10px",
  margin: "1px",
  width: "100%",
  height: "140px",
};

return (
  <div style={divStyle}>
    <Editor
      text={this.state.text}
      onChange={this.props.handleChange}
    />
  </div>
); },handleChange(text, medium) { this.setState({ text: text }); } });

IDocumentUploadProps.ts

import { SPHttpClient } from '@microsoft/sp-http';
export interface IDocumentUploadProps {
  spHttpClient: SPHttpClient;
  description: string;
  ProjectName: string;
  ProjectsArray: Array<string>[];
  siteurl: string;
  Building: string;
  Floor: string;
  GridLine: string;
  Subject: string;
  SubContractor: string;
  CreatedDate: string;
  RequiredDate: string;
  Disciplined: string;
  Description: string;
  Requirement: string;
  Comments: string;
  ItemGuid:string;
  loading: boolean;
  UploadedFilesArray: Array<string>[];
  CurrentUser: string;
  UserGroup: string;
  IRFINumber: string;
  IRFISeriesId: string;
  IRFIReference: string; }

SPFX версия: 1.7.1 версия узла: 8.15.0 Версия npm: 6.4.1

1 Ответ

0 голосов
/ 26 марта 2019

Состояние ошибки external__react_.createClass is not a function.Это потому, что React.createClass был удален с React v16 (который используется SPFx v1.7.1). Вот официальное сообщение в блоге , в котором объясняется, как переносить старый код, используя create-react-class в качестве замены для замены.

В качестве альтернативы, по моему опыту, SPFx отлично работает с классом ES6нотация, например: class App extends React.Component { /* ... */ }.Вы можете изменить свой код, чтобы использовать более современную нотацию ES6.Тем не менее, вам необходимо изменить некоторые другие вещи, такие как getInitialState, так что это может быть неосуществимо.

...