我正在尝试在我的 react-redux 应用程序中使用 proptypes,但它不起作用,或者我做错了什么。这是代码示例的结尾:
LoginPage.propTypes = {
login_form: PropTypes.string
};
function mapStateToProps(state) {
return { loginPage: state.loginPage }
}
export default connect(mapStateToProps)(LoginPage);
login_form 是 bool 值,我特意写了 PropType.string 来查看它是否正常工作,但它没有给我任何错误,这可能是因为 redux connect,但我无法搜索任何相关内容。请任何人告诉我我做错了什么:/谢谢。
最佳答案
从 docs :
如果您运行的项目不是处于开发模式,则您看不到警告。
请参阅下面的更新:此外,PropTypes 不会引发错误,但会显示警告。请务必检查控制台中的警告。您可能已选择仅显示错误。
而且,请务必从“prop-types”导入 PropTypes 以使用 PropTypes:
import PropTypes from 'prop-types'
如果上述事情得到保证并且您仍然没有在控制台中看到警告,那么您有一种可能性在字符串中传递 bool 值:
<LoginPage login_form="true" />
或者,
<LoginPage login_form={'true'} />
确保像这样传递 bool 值:
<LoginPage login_form={true} />
注意:如果你想传递真值,你可以像这样传递 Prop :
<LoginPage login_form />
现在,使用
login_form: PropTypes.string
会向您显示警告。更新:
尽管 react doc 说它会抛出警告,但我只是验证了它实际上会在没有应用程序保留的情况下抛出错误。但消息以
Warning:
开头。因此,请务必在控制台中检查 错误 而不是警告。或者,您可能一定要检查
default
。关于reactjs - Prop 类型在 react 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52216779/