Skip to content

Commit dad252a

Browse files
committed
fix: run onReady effect on every "playerReady" event
1 parent b629bb3 commit dad252a

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/YoutubeIframe.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const YoutubeIframe = (props, ref) => {
5252

5353
const webViewRef = useRef(null);
5454
const eventEmitter = useRef(new EventEmitter());
55-
const [playerReady, setPlayerReady] = useState(false);
55+
const [playerReady, setPlayerReady] = useState(0);
5656

5757
useImperativeHandle(
5858
ref,
@@ -113,7 +113,8 @@ const YoutubeIframe = (props, ref) => {
113113
);
114114

115115
useEffect(() => {
116-
if (!playerReady) {
116+
if (playerReady < 1) {
117+
// no instance of player is ready
117118
return;
118119
}
119120

@@ -139,7 +140,7 @@ const YoutubeIframe = (props, ref) => {
139140
break;
140141
case 'playerReady':
141142
onReady();
142-
setPlayerReady(true);
143+
setPlayerReady(prev => prev + 1);
143144
if (Array.isArray(playList)) {
144145
webViewRef.current.injectJavaScript(
145146
PLAYER_FUNCTIONS.loadPlaylist(

0 commit comments

Comments
 (0)