我正在使用react-intl
进行内部化。
我收到以下代码的错误validateDOMNesting(...): <span> cannot appear as a child of <option>
。
我不使用跨度。但是在检查元素时,它会自动跨越。
代码如下:
<select onChange={this.localeChageHandler}>
<option value="english">
<FormattedMessage
id="navigation.header.navbar.english"
defaultMessage="English"
/>
</option>
<option value="hindi">
<FormattedMessage id="navigation.header.navbar.hindi" defaultMessage="HIndi" />
</option>
</select>
答案 0 :(得分:1)
通常FormattedMessage
将返回span元素,为了忽略span元素,您必须将选项传递给FormattedMessage
中的child prop。
<select onChange={this.localeChageHandler}>
<FormattedMessage
id="navigation.header.navbar.english"
defaultMessage="English"
children={
(formatedMessage) => <option value="English">{formatedMessage}</option>
}
/>
<FormattedMessage
id="navigation.header.navbar.hindi"
defaultMessage="HIndi"
children= {
(formatedMessage) => <option value="HIndi">{formatedMessage}</option>
}
/>
</select>