【发布时间】:2022-01-18 12:20:51
【问题描述】:
随着组件的安装,pickedTrue 的值从 false 变为 true。但是输入 defaultChecked 没有更新它只是设置为 false。
page.js:
function page() {
return (
<Checkbox checked={'1'} />
)
}
export default page
复选框组件:
function Checkbox({checked}) {
const pickedTrue = checked == '1' ? true : false
console.log(pickedTrue)
return (
<input type="checkbox" defaultChecked={pickedTrue}/>
)
}
export default Checkbox
console.log(pickedTrue) 输出:
undefined
false
undefined
undefined
true
*注意:如果我使用=== 而不是==,无论哪种方式都会导致false。
【问题讨论】:
-
也许你应该像这样将
defaultChecked替换为checked:` `,试试看 -
也许是
<input type="checkbox" defaultChecked={checked === '1'}/>? -
@screwspike 我起初尝试过。但后来它变成只读的。它甚至显示一个警告说我应该使用
defaultChecked -
@Daniel。值
checked '1'来自数据库,并且该组件在其他页面中使用。并不是所有的值都是1。这就是为什么我把它设为条件:const pickedTrue = checked == '1' ? true : false
标签: reactjs