我开始在我的react-modal组件上收到此警告:
警告:propType失败:必需的道具
contentLabel
没有 在Modal
中指定。
它不会阻止模态正常工作,我只是在开发工具控制台中看到警告。我可以通过指定一些随机字符串来传递这个prop,但是我不明白它实际上用于什么,以及为什么它是必需的。
答案 0 :(得分:7)
BigDecimal
改善了辅助功能。您可能没有注意到它,但在某些情况下,此contentLabel
可以帮助您的用户了解模式的含义。来自their repository:
Modal对象有两个必需的道具:
prop
来渲染自己的孩子。isOpen
改善a11y,因为contentLabel
。
v1.6.0
的值在模态元素上设置为aria-label
。与屏幕阅读器一样,这有助于assistive technology向元素添加标签,否则该标签将是匿名的。例如,有视力障碍的人在添加时可以更好地理解你的模态。
答案 1 :(得分:0)
在这个https://github.com/reactjs/react-modal/blob/master/dist/react-modal.js内容中,如果删除.isRequired,则需要设置isOpen,如同此contentLabel:React.PropTypes.string.isRequired,则可以使用模态而不定义contentLabel prop。