Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的复选框未预先填充redux状态中的值,即true或false_Javascript_Reactjs_Redux_React Redux - Fatal编程技术网

Javascript 我的复选框未预先填充redux状态中的值,即true或false

Javascript 我的复选框未预先填充redux状态中的值,即true或false,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我正在尝试实现设置为true和no tick on的tick on值 值从redux状态设置为false,但复选框始终设置为勾选 在服务器启动时。我的onchange处理程序也运行良好 console.log也显示了正确的值 我的代码如下- const TaskItem = ({tasks:{task,_id,date,checkbox},deleteTodo,loading}) => { const [formData,setformData]=useState({ checkb

我正在尝试实现设置为true和no tick on的tick on值 值从redux状态设置为false,但复选框始终设置为勾选 在服务器启动时。我的onchange处理程序也运行良好 console.log也显示了正确的值

我的代码如下-

const TaskItem = ({tasks:{task,_id,date,checkbox},deleteTodo,loading}) => {
const [formData,setformData]=useState({
    checkbox1:{checkbox}
})

const {checkbox1}=formData;
console.log(checkbox1);
const onChange=e=>{
    setformData({...formData,[e.target.name]:e.target.checked})
}

    return (
        <div className="list">
        <p>
        
        <Moment style={{backgroundColor:"rgba(27,112,137)", border:"1px"}}
        format='YYYY/MM/DD hh:mm a'>
        
        {date}
        
        
        </Moment>
        <br/>
        <input
            name="checkbox1"
            type="checkbox"
            checked={checkbox1}
            onChange={e=>onChange(e)}

       
    

            />
        
    
        {task}
        
        <span>
        
        
        <i className="fas fa-trash" onClick={()=>{deleteTodo(_id)}}></i>
        
        </span>
        </p>
        
            
        </div>
        
    )
}

TaskItem.propTypes = {
    tasks:PropTypes.object.isRequired,
    deleteTodo:PropTypes.func.isRequired,
    


}

export default connect(null,{deleteTodo}) (TaskItem)
const TaskItem=({tasks:{task,_id,date,checkbox},deleteTodo,load})=>{
常量[formData,setformData]=useState({
复选框1:{checkbox}
})
const{checkbox1}=formData;
控制台日志(复选框1);
const onChange=e=>{
setformData({…formData,[e.target.name]:e.target.checked})
}
返回(

{date}

onChange(e)} /> {task} {deleteTodo(_id)}}>

) } TaskItem.propTypes={ 任务:需要PropTypes.object.isRequired, deleteTodo:PropTypes.func.isRequired, } 导出默认连接(null,{deleteTodo})(TaskItem)

相当于:

const [formData,setformData]=useState({
    checkbox1:{checkbox: checkbox}
})
所以
类似于:
在开始时,复选框将被选中。(因为
{checkbox:false}
truthy

因此,根据
复选框的类型
redux状态,对其进行更改。如果是真/假值,请将代码更改为:

const [formData,setformData]=useState({
    checkbox1: checkbox
})
如果它是一个对象且具有选中属性,请将其更改为:
checkbox1:checkbox.ischecked

相当于:

const [formData,setformData]=useState({
    checkbox1:{checkbox: checkbox}
})
所以
类似于:
在开始时,复选框将被选中。(因为
{checkbox:false}
truthy

因此,根据
复选框的类型
redux状态,对其进行更改。如果是真/假值,请将代码更改为:

const [formData,setformData]=useState({
    checkbox1: checkbox
})

如果它是一个对象且具有选中属性,请将其更改为:
checkbox1:checkbox.ischecked

尝试从
中删除此:
checked={checkbox1}
尝试从
中删除此:
checked={checkbox1}