我正在尝试在我的 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: 开头。因此,请务必在控制台中检查 错误 而不是警告。

reactjs -  Prop 类型在 react 应用程序中不起作用-LMLPHP

或者,您可能一定要检查 default

关于reactjs - Prop 类型在 react 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52216779/

10-12 15:18