我剛剛從reactjs
開始並做了一個教程。 本教程似乎並未完全更新。 我總是收到此錯誤信息:錯誤:未捕獲TypeError:無法讀取未定義的屬性「地圖」
Uncaught TypeError: Cannot read property 'map' of undefined
at ContactsList.render (ContactsList.js:40)
at ReactCompositeComponent.js:796
at measureLifeCyclePerf (ReactCompositeComponent.js:75)
at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:795)
at ReactCompositeComponentWrapper._renderValidatedComponent (ReactCompositeComponent.js:822)
at ReactCompositeComponentWrapper._updateRenderedComponent (ReactCompositeComponent.js:746)
at ReactCompositeComponentWrapper._performComponentUpdate (ReactCompositeComponent.js:724)
at ReactCompositeComponentWrapper.updateComponent (ReactCompositeComponent.js:645)
at ReactCompositeComponentWrapper.receiveComponent (ReactCompositeComponent.js:547)
at Object.receiveComponent (ReactReconciler.js:125)
這是我的代碼:
import React, { Component } from 'react';
import Contact from './Contact';
class ContactsList extends Component {
constructor() {
super();
this.state = {
search: ''
};
}
updateSearch(event) {
this.setState({ search: event.target.value.substr(0,20) })
}
render() {
return (
<div>
<ul>
{
this.props.contacts.map((contact)=> {
return <Contact contact={contact} key={contact.id} />
})
}
</ul>
<input type="text" value={this.state.search} onChange={this.updateSearch.bind(this)} />
</div>
);
}
}
export default ContactsList
這ContactList
類被稱爲是這樣的:
import React, { Component } from 'react';
import ReactDOM, { render } from 'react-dom'
import ContactsList from './ContactsList';
let contacts = [{
id: 3,
name: 'Ray',
phone: '123 555 5555'
},
{
id: 2,
name: 'Jay',
phone: '123 123 5555'
},
{
id: 1,
name: 'May',
phone: '123 123 1234'
}]
class App extends Component {
render() {
console.log('contacts:' + this.props.contacts);
return (
<div>
<h1>Contacts List</h1>
<ContactsList contacts={this.props.contacts} />
</div>
);
}
}
export default App;
ReactDOM.render(<App contacts={contacts} />,document.getElementById('root'));
我居然不知道,爲什麼會出現這個錯誤。我已經搜索了很多,但沒有任何解決方案。也許有人可以給我一個提示,錯誤原因是什麼以及如何解決它? 在此先感謝。
您如何期待'this.props.contacts'具有價值? – Pointy
沒有聯繫人作爲prop添加到組件。因此不會有它的地圖屬性。 –
好的,但怎麼辦?請參閱我的編輯。對不起,我是'react'中的絕對初學者。 –