useControllableValue

兼容状态受控和状态自理

代码演示

非受控

如果 props 中没有 value,则组件内部自理 state

Live Editor
Copy

受控

如果 props 有 value 字段,则由父级接管控制 state

Live Editor
Copy

API

const [state, setState] = useControllableValue(props: object, options?: Options)

Options

参数说明必选类型默认值
defaultValue默认值-any-
defaultValuePropName默认值的属性名-stringdefaultValue
valuePropName值的属性名-stringvalue
onChangePropName修改值的函数名-stringonChange

Result

参数说明 类型
state状态值
setState修改状态的函数