Dav*_*key 1 reactjs react-hooks amazon-chime aws-chime-sdk
我正在使用Amazon 的 React Chime SDK 组件库。组件库有许多组件和钩子可供使用。
其中一个组件是<LocalVideo />. 问题是它开始时视频被禁用。为了打开它,您可以使用 hook useLocalVideo()。
在我看到的示例中,他们使用按钮来执行挂钩:
const MyComponent = () => {
const togglevideo = { useLocalVideo };
return(
<>
<LocalVideo />
<button onClick={toggleVideo}>Toggle</button>
</>
);
};
Run Code Online (Sandbox Code Playgroud)
这很好用。但是如果我希望 LocalVideo 组件加载启用怎么办?例如,如果我不希望有人必须单击按钮?
我尝试了几种不同的方法,包括:
useEffect(无效的Hook调用错误)。例如:
const MyComponent = () => {
useEffect( () => {
useLocalVideo();
},
);
Run Code Online (Sandbox Code Playgroud)
const MyComponent = () => {
const { tileId, isVideoEnabled, setIsVideoEnabled, toggleVideo } = useLocalVideo();
useEffect( () => {
setIsVideoEnabled(true);
}, []
);
Run Code Online (Sandbox Code Playgroud)
如何让这个钩子在组件渲染后运行?
小智 5
toggleVideo您应该调用内部的函数useEffect,而不是钩子useLocalVideo本身:
const MyComponent = () => {
const { togglevideo } = useLocalVideo();
useEffect(() => {
togglevideo();
}, []);
return (
<LocalVideo />
);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6991 次 |
| 最近记录: |