2017-06-06 116 views
0

我有行动文件中的一个功能,需要从参数componenent文件中调用它,但同时调用它,而不是定义函数的给错误函数未定义错误reactjs

组件代码:

handleClick(e){ 

     addinput({input1:this.refs.inp1.value,input2:this.refs.inp2.value}) // This function I have defined in action file 

     } 

行动文件代码:

export function addinput(myval1) { 
return { 
    type: 'ADD_INPUT', 
    payload: myval1 
}; 
} 

我收到以下错误控制台

Uncaught ReferenceError: addinput is not defined 

请告诉我,我做错了这里!

+0

如果这是一个Redux设置,您应该使用dispatch将该操作“传达”给商店。这里的错误可能是由于缺少“./path/to/action/file'”语句的“import addinput”。 –

+0

我已经在此文件中导入它: 导入从“反应”中反应; 从“react-redux”导入{connect}; 从“./Button”导入Button; 从'../actions/countActions“导入*从'redux'导入bindActionCreators import *作为TodoActionCreators; addinput功能是在行动/反应文件 是否有任何其他的事情我失踪 – CodeWithCoffee

回答

1

你需要做的是进口从操作文件的功能在你的组件一样

import {addinput} from './path/to/action' 

和我假设你usiong终极版,您可以绑定动作道具连接并bindActionCreators功能

import {connect} from 'react-redux' 
import {bindActionCreators} from 'redux' 

... 

class MyComponentName extends React.Component{ 

    handleClick = (e) => { 
     this.props.addinput({input1:this.refs.inp1.value,input2:this.refs.inp2.value}) 

     } 
} 

function mapDispatchToProps(dispatch){ 
    return bindActionCreators({addInput}, dispatch) 
} 
export default connect(null, mapDispatchToProps)(MyComponentName) 
+0

谢谢Shubham!它实际上是在其他主要应用组件中定义的,我错过了从那里发送!它现在工作正常!再次感谢你 !! – CodeWithCoffee

+0

很高兴有帮助:) –

+0

如果它有帮助,你可以接受这个答案:) –