即使我已应用propType验证,但在传递hasvacancy
prop的布尔值时,我的编辑器也会引发错误。这是我所看到的:
错误:“ SyntaxError:JSX值应为表达式或带引号的JSX文本”
我知道我正在为'hasvacancy'属性传递一个字符串类型的值,但是我需要做些什么,这样我就可以通过该属性传递一个布尔值或其他数据类型。
import React from 'react';
import { render } from 'react-dom';
class VacancySign extends React.Component{
render() {
console.log('------------hasvacancy------', this.props.hasvacancy);
if(this.props.hasvacancy) {
return(
<div>
<p>Vacancy</p>
</div>
);
} else {
return(
<div>
<p>No-Vacancy</p>
</div>);
}
}
}
VacancySign.propTypes ={
hasvacancy: React.PropTypes.bool.isRequired
}
render(<VacancySign hasvacancy='false'/> ,
document.getElementById('root'));
对于那些收到警告的人
如果在不将布尔值移出道具的情况下向下传递道具,则会发生这种情况。
例如:
可以通过以下方式来规避