TypeError:使用 sp pnp v3 时无法读取未定义的属性(读取“pageContext”)

问题描述 投票:0回答:1

我正在使用本教程使用 spfx 和 sp/pnp v3 创建一个 webpart: https://learn.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/use-sp-pnp-js-with-spfx-web-parts 我还提到:https://pnp.github.io/pnpjs/getting-started/ 这是根 .ts 文件:

public async onInit(): Promise<void> {
    await super.onInit();
    getSP(this.context);
  }

这里是父组件:

import { getSP } from "../components/pnpjsConfig";
import { SPFI, spfi } from "@pnp/sp";

let sp: SPFI;

sp = getSP();

const GetAssessments = async () => {
 
  const allItems = await sp.web.lists.getByTitle("MyList").items.select(`*, Author/Id,
  CompletedBy/UserName, CompletedBy/Title, CompletedBy/Id, 
  BURepresentative/UserName, BURepresentative/Title, BURepresentative/Id
  `).expand('Author, CompletedBy, BURepresentative')().then(r => {
    const returnedAssessment: IListItem[] = r.map((item) => {
      return { 
        Id: item.Id,
        FormStatus: item.FormStatus,
        CurrentStatus: item.CurrentStatus,
        CompletedById: item.CompletedById,
        AuthorId: item.AuthorId,
        BURepresentativeId: item.BURepresentativeId,
      };
    });
    return returnedAssessment;
  });
  let sortedAssessment = allItems.sort((a, b) => a.Id < b.Id ? 1 : -1);
  return sortedAssessment;
};

但我得到:

TypeError: Cannot read properties of undefined (reading 'pageContext') 

当 gulp serve --nobrowser.

需要帮助。

reactjs typescript sharepoint-online pnp-js
1个回答
0
投票

v2 和 v3 在导入包的方式上有所不同。在 v3 中,您需要显式导入所需的包。

例如

import "@pnp/sp";
import "@pnp/sp/webs"; 
import "@pnp/sp/lists";
import "@pnp/sp/webs";  

尝试添加您需要的导入。

更多信息:https://pnp.github.io/pnpjs/concepts/selective-imports/

© www.soinside.com 2019 - 2024. All rights reserved.