Myコンポーネントには配列として定義されたプロパティがありますが、数字キーで値を反復できません。キーは文字列であるようです。 何か不足していますか?React PropTypes.arrayには文字列型のキーがあります
class Test extends React.Component {
render() {
let parse = [];
for (let i in Object.keys(this.props.test)) {
parse.push(
<div key={i}>
{i} {typeof i} {this.props.test[i]}
</div>
)
}
return (
<div>
{parse}
</div>
)
}
}
Test.propTypes = {
test: React.PropTypes.array
}
ReactDOM.render(
<Test test={["a", "b", "c"]} />,
document.getElementById('main')
);
プロパティテストのキーが文字列であることを示します。
this.props.test.map((el, i) => (
<div key={i}>
{i} {typeof i} {el}
</div>
))
非を使用して:あなたのケースで
JavaScriptオブジェクトのキーは常に文字列であるため – CodinCat
あなたは '書く場合でも{1:「FOO」} '、' 1 'は、文字列 – CodinCat
になりますが、私はとプロパティを定義し["a"、 "b"、 "c"]。 また、PropTypeも配列に設定されています。 –