问题描述
customer hook定义了方法a,页面绑定方法a会报错
复现步骤
// useDemo.js
export default function useDemo() {
const onChange = (e) => { console.log(e) }
return { onChange }
}
// page a
const demo = useDemo();
// 这里触发时会报错
// 这样则正常onChange={e => demo.onChange(e)}
return <Swiper onChange={demo.onChange}>xxxx</Swiper>
期望行为
能正确绑定和使用customer hook的方法
报错信息
thirdScriptError
Cannot read property 'apply' of undefined; [Component] Event Handler Error @ pages/index/index#(anonymous)
TypeError: Cannot read property 'apply' of undefined
系统信息
Taro CLI 1.3.4 environment info:
System:
OS: macOS High Sierra 10.13.6
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.13.0 - ~/.nvm/versions/node/v10.13.0/bin/node
Yarn: 1.13.0 - /usr/local/bin/yarn
npm: 6.6.0 - ~/.nvm/versions/node/v10.13.0/bin/npm
npmPackages:
@tarojs/async-await: 1.3.4 => 1.3.4
@tarojs/cli: 1.3.4 => 1.3.4
@tarojs/components: 1.3.4 => 1.3.4
@tarojs/plugin-babel: 1.3.4 => 1.3.4
@tarojs/plugin-csso: 1.3.4 => 1.3.4
@tarojs/plugin-sass: 1.3.4 => 1.3.4
@tarojs/plugin-uglifyjs: 1.3.4 => 1.3.4
@tarojs/redux: ^1.3.1 => 1.3.2
@tarojs/redux-h5: ^1.3.1 => 1.3.2
@tarojs/router: 1.3.4 => 1.3.4
@tarojs/taro: 1.3.4 => 1.3.4
@tarojs/taro-alipay: 1.3.4 => 1.3.4
@tarojs/taro-h5: 1.3.4 => 1.3.4
@tarojs/taro-swan: 1.3.4 => 1.3.4
@tarojs/taro-tt: 1.3.4 => 1.3.4
@tarojs/taro-weapp: 1.3.4 => 1.3.4
@tarojs/webpack-runner: 1.3.4 => 1.3.4
eslint-config-taro: 1.3.4 => 1.3.4
eslint-plugin-taro: 1.3.4 => 1.3.4
nerv-devtools: ^1.4.0 => 1.4.1
nervjs: ^1.4.0 => 1.4.1
欢迎提交 Issue~
如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏
如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。
Good luck and happy coding~
CC @yuche
const useDemo = () => {
return (e) => { console.log(e) }
}
export default useDemo