Javascript redux中的更新状态
我正在尝试在redux中更新我的状态。但我对如何做到这一点一无所知: 以下是组件:Javascript redux中的更新状态,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在尝试在redux中更新我的状态。但我对如何做到这一点一无所知: 以下是组件: import React from 'react'; import {connect} from 'react-redux'; import fetchTasks from '../actions/getTasks'; class Homepage extends React.Component{ componentDidMount(){ this.props.fetchtsk();
import React from 'react';
import {connect} from 'react-redux';
import fetchTasks from '../actions/getTasks';
class Homepage extends React.Component{
componentDidMount(){
this.props.fetchtsk();
}
render(){
return(
<div>
<h1>Welcome to My Task-Manager Page</h1>
<input type='text' placeholder='insert task'></input>
<button value='insert task'>Insert task</button>
<h3>Here are the tasks:</h3>
<h4>Unchecked:</h4>
{this.props.root.map((item,index)=>{
if(item.isChecked===0)
return (<div><span key={index}>{item.data}</span><input type='checkbox' onClick={()=>this.props.changeCheck(item.InsertionId)}></input></div>)
return '';
})}
<h4>Checked:</h4>
{this.props.root.map((item,index)=>{
if(item.isChecked===1)
return (<div><span key={index}>{item.data}</span><input type='checkbox' checked="checked" onClick={()=>this.props.changeCheck(item.InsertionId)}></input></div>)
return '';
})}
</div>
)
}
}
const matchStatetoProps = (state) =>{
return {root:state.root};
}
const dispatchStatetoProps = (dispatch) =>{
return{
fetchtsk:()=> dispatch(fetchTasks),
changeCheck: (InsertionId)=> dispatch({type:'CHANGECHK',payload:InsertionId})
}
}
export default connect(matchStatetoProps,dispatchStatetoProps)(Homepage);
有人能帮我吗?嗨,它正在改变所有数据的状态。你能调查一下吗?不调查细节很难说什么。您是否尝试过调试它并检查它发生的原因?所有元素的“InsertionId”都不同吗?它在美国存在吗?它是否作为有效负载正确地传递给rootReducer?可能的重复虽然dupe目标寻址组件的状态,但对于Redux状态,它是相同的更新代码。
case 'CHANGECHK':
return state.map( i => i.InsertionId === payload ? { ...i, isChecked: 1 } : i );
case 'CHANGECHK':
return state.map( i => i.InsertionId === payload ? { ...i, isChecked: 1 } : i );