Taro: customer hook返回的方法使用时报错

Created on 23 Jul 2019  ·  3Comments  ·  Source: NervJS/taro

问题描述
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

  • 报错平台 [weapp]

All 3 comments

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

CC @yuche

const useDemo = () => {
return (e) => { console.log(e) }
}
export default useDemo

Was this page helpful?
0 / 5 - 0 ratings