Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Предостережение
Набор средств Microsoft Graph не рекомендуется использовать. Период выхода на пенсию начинается 1 сентября 2025 года, а полный выход на пенсию запланирован на 28 августа 2026 года. Разработчикам следует перейти на использование пакетов SDK для Microsoft Graph или других поддерживаемых средств Microsoft Graph для создания веб-интерфейсов. Дополнительные сведения см. в объявлении об устаревании.
Компоненты Microsoft Graph Toolkit в React (mgt-react) позволяют разработчикам React использовать Microsoft Graph Toolkit в приложениях React. Библиотека упаковывает все компоненты Microsoft Graph Toolkit и экспортирует их как компоненты React. Мы также предоставляем другую библиотеку React (mgt-chat), чтобы включить сценарии чата, которые пока недоступны в качестве обычных веб-компонентов.
Какие компоненты можно использовать?
Библиотека mgt-react создается автоматически из веб-компонентов Microsoft Graph Toolkit, и все компоненты доступны как React компоненты.
Имена компонентов React находятся в PascalCase и не включают Mgt префикс. Например, компонент mgt-person доступен как Person, а mgt-people-picker — как PeoplePicker.
В дополнение к автоматически созданным mgt-chat компонентам компоненты и mgt-new-chat доставляются как часть отдельного пакета (mgt-chat).
Установка
Чтобы установить, используйте следующую команду:
npm install @microsoft/mgt-react
Чтобы добавить mgt-chat в приложение, используйте следующую команду:
npm install @microsoft/mgt-chat
Применение
Все компоненты доступны через пакет npm и именуются с помощью PascalCase. Чтобы использовать компонент, сначала импортируйте его вверх.
import { Person } from "@microsoft/mgt-react";
Если вы используете mgt-chat, импортируйте компоненты отдельно:
import { Chat } from "@microsoft/mgt-chat";
Теперь вы можете использовать любой из наших компонентов в любом месте JSX в качестве обычного компонента React.
// Using the Person component
<Person personQuery="me" />
// Using the Chat component
<Chat chatId="19:25fdc88d202440b78e9229773cbb1713@thread.v2" />
Все свойства и события сопоставляются точно так, как они определены в документации по компоненту.
Например, вы можете настроить свойство personDetails для объекта:
const App = (props) => {
const personDetails = {
displayName: "Bill Gates",
};
return <Person personDetails={personDetails}></Person>;
};
Вы также можете зарегистрировать обработчик событий:
import { PeoplePicker, People } from "@microsoft/mgt-react";
const App = (props) => {
const [people, setPeople] = useState([]);
const handleSelectionChanged = (e) => {
setPeople(e.target.selectedPeople);
};
return;
<div>
<PeoplePicker selectionChanged={handleSelectionChanged} />
Selected People: <People people={people} />
</div>;
};
Шаблоны
Большинство компонентов Microsoft Graph Toolkit поддерживают шаблоны, а mgt-react позволяет использовать React для создания шаблонов. Компоненты чата (mgt-chat) не поддерживают пользовательские шаблоны.
Например, чтобы создать шаблон для представления событий в компоненте mgt-agenda, сначала определите компонент, который следует использовать для представления события:
import { MgtTemplateProps } from "@microsoft/mgt-react";
const MyEvent = (props: MgtTemplateProps) => {
const { event } = props.dataContext;
return (
<div>
{event.subject}
<br />
{event.attendees
.map((attendee: any) => attendee.emailAddress.name)
.join(", ")}
</div>
);
};
Затем используйте его в качестве дочернего элемента упаковаемого компонента и присвойте свойствам шаблона значение event.
import { Agenda } from '@microsoft/mgt-react';
const App = (props) => {
return <Agenda>
<MyEvent template="event">
</Agenda>
}
Свойство template позволяет указать, какой шаблон следует перезаписать. В этом случае MyEvent компонент повторяется для каждого события, а event объект передается как часть dataContext свойств.
Пользовательские перехватчики React
mgt-reactпредоставляет пользовательские React перехватчики, которые можно использовать в приложении для отслеживания состояния приложения.
useIsSignedIn
Перехватчик useIsSignedIn использует React useState перехватчик для отслеживания состояния входа в компоненте. React повторно отрисовывает компонент в ответ на любые изменения в этом состоянии. Он также использует useEffect перехватчик, который улучшает жизненный цикл компонента, отслеживая изменения в поставщике Microsoft Graph Toolkit и обновляя компонент по мере необходимости.
import { useIsSignedIn, Agenda } from '@microsoft/mgt-react';
const [isSignedIn] = useIsSignedIn();
const App = (props) => {
return { isSignedIn && <Agenda></Agenda> }
}