assuming you created your model with createModel()
const MyModel = createModel(Model<{}, {
myevent: number,
}>)
const MyComponent = MyModel.withModel(({
model,
}) => {
const myEventHandler = useCallback((data: number) => {
...
})
model.useEvent('myevent', myEventHandler)
})
const MyComponent = () => {
const myEventHandler = useCallback((data: number) => {
...
})
MyModel.useEvent('myevent', myEventHandler)
}
const MyComponent = MyModel.withModel(({
model,
}) => {
const myEventDispatcher = model.useEvent('myevent')
const onClick = useCallback(() => {
const x = 5
myEventDispatcher(x)
})
<a onClick={onClick}/>
})