2017-07-21 49 views
-1
import React, { Component } from 'react'; 
import './App.css'; 

class App extends Component { 
constructor(props) { 
super(props); 
this.state = { 
    items: [] 
} 
} 
addItem(e) { 
    var itemArray = this.state.items; 

itemArray.push({ 
    text: this._inputElement.value, 
    key: Date.now() 
}); 

this.setState({ 
    items: itemArray 
}); 

e.preventDefault(); 
} 
render() { 
    return (
    <div className="main"> 
    <div className="header"> 
     <form onSubmit={this.addItem}> 
     <input ref={(a) => this._inputElement = a} 
     placeholder="enter your message"/> 
     <button type="submit">add</button> 
     </form> 
    </div> 
    <todoItems entries={this.state.items}></todoItems> 
    </div> 
); 
} 
} 

class todoItems extends Component { 
todoEntries = this.props.entries; 

createTasks(item) { 
return <li key={item.key}>{item.text}</li> 
} 

listItems = this.todoEntries.map(this.createTasks); 

render() { 
    return(
    <ul className="theList"> 
     {this.listItems} 
    </ul> 
); 
} 
} 

export default App; 

我試圖讓「待辦事項」應用程序在react.js, 但它不工作添加消息。 它發生刷新,錯誤控制檯消息: bundle.js:30031警告:標記上的未知道具entries。 從元素中移除此道具。React.js - 添加按鈕不工作

我該如何解決?

回答

1

React組件必須以大寫字母開頭,否則它不會被識別。應該

<TodoItems.../> 
+0

注:如果不是大寫,它不會被識別爲一個組件如上面提到的,相反,它會被識別爲合格(自定義)HTML DOM元素和「項」是不是有效的HTML屬性,這就是爲什麼它希望你刪除它。 –