[英]UseState to control
I use a button to control the audio player mute but it makes the player default mute, I want that only mute when clicking.How to edit it我使用一个按钮来控制音频播放器静音,但它使播放器默认静音,我只想在单击时静音。如何编辑它
import React, { useState } from "react";
import ReactAudioPlayer from "react-audio-player";
const Test = () => {
const [ismute, setOpen] = useState(false);
return (
<><div>
<ReactAudioPlayer
controls
muted={ismute ? "false": "True"}
src='https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3'
loop
autoPlay
/>
</div><button onClick={() => setOpen(!ismute)}>click me!</button>
</>
);
};
export default Test
If you are passing as string
,如果您作为
string
传递,
muted={ismute ? "false": "True"}
since the initial value of the ismute
is false
as:因为
ismute
的初始值是false
的:
const [ismute, setMute] = useState(false);
then what you are going to pass as a prop is True
or false
which is truthy
value which makes ismute
as always mute那么你将作为道具传递的内容是
True
或false
是truthy
值,这使ismute
始终静音
For state ismute, initially assign value true instead of false as below:对于状态 ismute,最初分配值 true 而不是 false,如下所示:
const [ismute, setOpen] = useState(true);
You should pass muted
prop as either true
or false
.您应该将
muted
prop 作为true
或false
传递。 You are passing as a string你作为一个字符串传递
muted={ismute ? false: true }
For state ismute, initially assign value true instead of false as below:对于状态 ismute,最初分配值 true 而不是 false,如下所示:
const [ismute, setOpen] = useState(true);
Another correction might be at component ReactAudioPlayer :另一个更正可能是组件ReactAudioPlayer :
<ReactAudioPlayer
controls
muted={ismute}
src='https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3'
loop
autoPlay
/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.