我看过其他类似的问题,但似乎找不到答案......
我收到错误:
Warning: Failed prop type: The prop
height
is marked as required inAudioPlayer
, but its value isundefined
.
尝试以下代码时:
import React, { Component } from "react";
import { Row, Col } from "react-bootstrap";
import Audio from "react-audioplayer";
import "./../../Assets/Css/AudioPlayer.css";
import PropTypes from "prop-types";
export default class AudioPlayer extends Component {
render(props) {
const playlist = this.props.playlist;
const AudioStyles = {
width: "99%",
margin: "1% 0"
};
const AudioProps = {
height: 600,
style: AudioStyles,
playlist: playlist,
fullPlayer: true
};
return (
<Row>
<Col xs={12}>
<Audio {...AudioProps} />
</Col>
</Row>
);
}
}
AudioPlayer.propTypes = {
height: PropTypes.number.isRequired
};
代码仍按预期运行,但出现上述错误。
我应该以不同的方式检查 Prop 类型吗?
最佳答案
从我在您的问题描述中看到的情况来看,您在 AudioPlayer
组件中不依赖于 prop height
。您希望将其放在 Audio
组件中,因此您需要为 Audio 组件
指定 Proptype
所以在音频组件文件中添加和删除 AudioPlayer
组件文件。
Audio.propTypes = {
height: PropTypes.number.isRequired
};
关于ReactJS 失败的 Prop 类型,值为 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46127903/