簡體   English   中英

使用狀態來控制

[英]UseState to control

我使用一個按鈕來控制音頻播放器靜音,但它使播放器默認靜音,我只想在單擊時靜音。如何編輯它

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

如果您作為string傳遞,

muted={ismute ? "false": "True"}

因為ismute的初始值是false的:

const [ismute, setMute] = useState(false);

那么你將作為道具傳遞的內容是Truefalsetruthy值,這使ismute始終靜音

對於狀態 ismute,最初分配值 true 而不是 false,如下所示:

const [ismute, setOpen] = useState(true);

您應該將muted prop 作為truefalse傳遞。 你作為一個字符串傳遞

muted={ismute ? false: true }

代碼沙盒演示 I've created a simulation for player

對於狀態 ismute,最初分配值 true 而不是 false,如下所示:

const [ismute, setOpen] = useState(true);

另一個更正可能是組件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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM