2016-12-27 24 views
2

我開始對我的反應,模態分量這樣的警告:道具contentLabel沒有 在Modal規定要求:爲什麼react-modal需要prop contentLabel?

警告:無法propType。

它不會阻止模式正常工作,我只是在開發工具控制檯中看到警告。我可以通過指定一些隨機字符串來傳遞此道具,但我不明白這實際用於什麼,爲什麼它是必需的。

回答

4

contentLabel改善了可訪問性。您可能沒有注意到,但在某些情況下,這種prop可以幫助您的用戶瞭解模態的含義。從their repository

模態對象有兩個必需的道具:

  • isOpen來呈現它的孩子。
  • contentLabel改善a11y,因爲v1.6.0

contentLabel的值被設置爲模態元件上的aria-label。這有助於assistive technology,就像屏幕閱讀器一樣,將標籤添加到本來是匿名的元素。例如,視力障礙的人在添加時可以使用模態更有意義。

+0

是的,我看到了那篇文檔,但它並不完全解釋爲什麼它是必需的。所以這對用戶來說是一種幫助。我想像它做了什麼,沒有我沒有注意到它,所以問題是,它有什麼幫助呢? – evianpring

+0

它在什麼情況下有幫助?我看到了文檔,但除了上面粘貼的內容之外,它沒有提及任何內容。 – evianpring

+0

更新了我的答案。 –

0

在這個https://github.com/reactjs/react-modal/blob/master/dist/react-modal.js contentLabel和isOpen被設置爲需要像這樣contentLabel:React.PropTypes.string.isRequired如果你刪除.isRequired那麼你可以使用模態而不定義contentLabel道具。

+0

我知道我可以去實際的軟件包並進行修改,但我不想修改它,我只是想了解它的邏輯是什麼。我不相信這是反應模式的舊版本所需要的。 – evianpring

+0

這是因爲有序的標籤。詠歎調標籤的功能與標籤類似,但它適用於在屏幕上顯示標籤並不現實或不可取的情況。 – Codesingh