导出常量的调用类函数响应本机

时间:2019-03-18 06:51:38

标签: reactjs react-native

我想从webViewEventHandlers.js中的导出const类调用ComposeBox.js中的handleSend函数

  

ComposeBox.js

class ComposeBox extends PureComponent<Props, State> {

handleSend = () => {
    const { dispatch } = this.props;
    const { message } = this.state;
    dispatch(addToOutbox(this.getDestinationNarrow(), message));

    this.setMessageInputValue('');
  };

export default connect((state: GlobalState, props) => ({
  auth: getAuth(state),
}))(ComposeBox);
  

webViewEventHandlers.js

import ComposeBox from '../compose/ComposeBox';

export const handleMessageListEvent = () => {

case 'wizrep':
      ComposeBox.handleSend();
      break;

我遇到以下错误

enter image description here

1 个答案:

答案 0 :(得分:0)

React手册指出:All React components must act like pure functions with respect to their props.

这意味着尝试创建Component的实例并将其视为对象会给您带来很大的困难。

根据您发送的代码段,我可以想象一些可能的解决方法:

  • 从ComposeBox内部调用handleMessageListEvent,并将handleSend函数作为参数传递。
  • 将消息设置为Redux状态(而不是组件)的一部分,并从webViewEventHandlers分派操作。
  • 使handleMessageListEvent成为ComposeBox组件的一部分。