С практической точки зрения, я не думаю, что вы хотите запускать componentDidUpdate () в расширении, если у вас нет довольно хорошего оператора if.
Но я думаю, что componentDidMount должен работать.
В моем файле customizer.ts я создаю элемент React после Init
const element: React.ReactElement<IAcgBobBotProps> = React.createElement(
AcgBobBot,
{
webChatToken: this.properties.webChatToken
}
);
ReactDom.render(element, this._bottomPlaceholder.domElement);
и создаю компонент в новом TSX-файле \ components \ AcgBobBot.tsx:
export default class AcgBobBot extends React.Component<IAcgBobBotProps, IAcgBobBotState> {
public componentDidMount() {
console.log("Hi from componentDidMount");
}
public render(): React.ReactElement<IAcgBobBotProps> {
...
}
Лично я также поместил свою «веб-часть» React в заполнитель, точно скопировав код отсюда: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/using-page-placeholder-with-extensions