---
title: 与 React Portal 使用
sidebar_position: 6
---
在 layers、contextmenu、controls 里使用 react 组件也是非常容易的事,通过 createPortal 处理更复杂的业务逻辑
👉 [点击打开在线演示](https://codesandbox.io/s/artplayer-react-portal-5z32h)
```jsx
import React, { useState, useEffect } from "react";
import ReactDOM, { createPortal } from "react-dom";
import Artplayer from "artplayer/examples/react/Artplayer";
function Timer({ time }) {
return
{time}
;
}
function App() {
const [art, setArt] = useState(null);
const [time, setTime] = useState(0);
useEffect(() => {
const update = () => setTime((time) => time + 1);
setInterval(update, 1000);
}, []);
return (
{
art.on("ready", () => setArt(art));
}}
/>
{art ? createPortal(, art.layers.portal) : null}
{art ? createPortal(, art.controls.portal) : null}
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(, rootElement);
```