useControllableValue
兼容状态受控和状态自理
代码演示
非受控
如果 props 中没有 value,则组件内部自理 state
Live Editor
受控
如果 props 有 value 字段,则由父级接管控制 state
Live Editor
API
const [state, setState] = useControllableValue(props: object, options?: Options)
Options
| 参数 | 说明 | 必选 | 类型 | 默认值 |
|---|---|---|---|---|
| defaultValue | 默认值 | - | any | - |
| defaultValuePropName | 默认值的属性名 | - | string | defaultValue |
| valuePropName | 值的属性名 | - | string | value |
| onChangePropName | 修改值的函数名 | - | string | onChange |
Result
| 参数 | 说明 类型 |
|---|---|
| state | 状态值 |
| setState | 修改状态的函数 |