react hooks 组件 可以实现命令式调用吗?

作者站长头像
站长
· 阅读数 15

class组件可以通过react.render 实现命令式调用

class Toast extend Component {
   // ...
  show (options) {
    console.log(options)
  }
    render() {
        <div>111</div>
    }
}
const div = document.createElement('div')
document.body.appendChild(div)
const ImageView = ReactDOM.render(<Toast />, div)

那如果这个Toast是函数式组件, 请问如何实现

const Toast = () => {
const show = (options) => {}
    return (
        <div>111</div>
    )
}
import Toast from './toast'
Toast.show({a:1})
回复
1个回答
avatar
test
2024-07-16
//demo:

export default const Toast = () => {
    const show = (options:number) => {return options+1}
    const ele = <div>{show + 100}</div>
    return [show,ele]
}

// usage:

import useToast from './hooks/Toast'
const [show,ele] = useToast()
show(1)
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容