В чем разница между domElement и pageContext при их использовании в проекте spfx реагировать? - PullRequest
0 голосов
/ 20 января 2020

Мне нужно понять разницу между этим:

this.domElement.getElementsByClassName

, который ссылается на domElement. Это не может быть использовано, так как я получаю сообщения о том, что его нет в myproject.

Я также использую это:

this.props.context.pageContext.web

et c ..

В чем разница между ними или они оба различаются по своему использованию?

Пожалуйста, обратите внимание, я понимаю, что такое domElement, но то, как он используется здесь, не то, что я понимаю.

I Мне нужно понять, потому что я вижу много демонстраций функций (которые мне нужно использовать), которые используют domElement в своем проекте spfx, хотя я не могу его использовать!

C

1 Ответ

1 голос
/ 21 января 2020

pageContext создан библиотеками среды выполнения клиента SharePoint (JS), он содержит множество клиентских объектов SharePoint.

enter image description here

Стефан Бауэр поделился хорошее объяснение для domElement ниже.

https://n8d.at/this-domelement-is-your-new-document-object-in-spfx-web-parts-development/

Обновление: в webpart.ts, а не в компоненте .tsx.

enter image description here

Обновление:

Интерфейс свойства компонента.

import { WebPartContext } from '@microsoft/sp-webpart-base';

export interface IReactSpFxProps {
  description: string,
  context: WebPartContext,
  userToken:string
}

.ts

const element: React.ReactElement<IReactSpFxProps> = React.createElement(
            ReactSpFx,
          {
            description: this.properties.description,
            context:this.context,
            userToken: accessToken            
          });

        ReactDom.render(element, this.domElement);

.tsx:

public componentDidMount() {
    var dom=this.props.context.domElement;
...