Reactjs 无法显示更新的阵列数据
我有一个数组Reactjs 无法显示更新的阵列数据,reactjs,Reactjs,我有一个数组List,我正在使用.push()方法向其中添加新元素,然后concat在Onclickadd方法中使用List输入,但它不会更新数组以显示待办事项中的项目 import React from 'react' import './App.css' class App extends React.Component { constructor(){ super() this.state={ List: ['potato'] } }
List
,我正在使用.push()
方法向其中添加新元素,然后concat
在Onclickadd
方法中使用List输入,但它不会更新数组以显示待办事项中的项目
import React from 'react'
import './App.css'
class App extends React.Component {
constructor(){
super()
this.state={
List: ['potato']
}
}
onAddChange=(event)=>{
this.setState=({
input: event.target.value
})
}
Onclickadd=()=>{
console.log('clicked')
this.setState=({List: this.state.List.concat(this.state.input)})
}
render (){
return (
<div className="App">
<h1>TODO LIST</h1>
<input onChange={this.onAddChange} type='text' placeholder='Add Items'/>
<button onClick={this.Onclickadd} className='btn'>Add</button>
<ol>
{this.state.List.map((items, keys) => {
return <li key={keys}> {items}</li>
})}
</ol>
</div>
);
}
}
export default App;
从“React”导入React
导入“./App.css”
类应用程序扩展了React.Component{
构造函数(){
超级()
这个州={
列表:[“土豆”]
}
}
onAddChange=(事件)=>{
这是我的国家=({
输入:event.target.value
})
}
Onclickadd=()=>{
console.log('clicked')
this.setState=({List:this.state.List.concat(this.state.input)})
}
渲染(){
返回(
待办事项清单
添加
{this.state.List.map((项、键)=>{
返回{items}
})}
);
}
}
导出默认应用程序;
value={this.state.input}
,如下所示:
this.setState()
的语法不正确,如下所示:this.setState({List:this.state.List.concat(this.state.input)})
this.setState({input:event.target.value})
this.setState
是一个需要对象的函数,您试图赋值,而不是关闭this.setState=
使用
this.setState({
输入:event.target.value
})
类应用程序扩展了React.Component{
构造函数(){
超级()
这个州={
列表:[“土豆”]
}
}
onAddChange=(事件)=>{
这是我的国家({
输入:event.target.value
})
}
Onclickadd=()=>{
this.setState({List:this.state.List.concat(this.state.input)})
}
渲染(){
返回(
待办事项清单
添加
{this.state.List.map((项、键)=>{
返回{items}
})}
);
}
}
render(,document.body)代码>
此.setState=…
是您代码中的问题。这是一个函数调用,没有使用=
赋值
你在两个地方犯了同样的错误
将onAddChange
更改为
onAddChange=(event)=>{
this.setState({
input: event.target.value
})
}
Onclickadd=()=>{
console.log('clicked')
this.setState({List: this.state.List.concat(this.state.input)})
}
及
onclick添加到
onAddChange=(event)=>{
this.setState({
input: event.target.value
})
}
Onclickadd=()=>{
console.log('clicked')
this.setState({List: this.state.List.concat(this.state.input)})
}
工作示例=>this.setState(…)
而不是this.setState=()
this.setState(…)给了我类型错误:this.setState不是一个函数在这段代码中没有.push()
,我想这是因为你不应该直接用push更新状态,如果您添加推送在其上使用的代码部分,则会更好