Javascript React函数参数是代理吗?
我的有状态React组件中有一个函数,我得到的是一个Javascript React函数参数是代理吗?,javascript,reactjs,react-native,proxy,redux,Javascript,Reactjs,React Native,Proxy,Redux,我的有状态React组件中有一个函数,我得到的是一个代理,而不是函数参数中实际期望的 这是怎么回事?我希望在我的日志中看到hello world,但我看到的是: 这是什么?代理{dispatchConfig:Object,_targetist:Constructor,nativeEvent: 对象,类型:未定义,目标:196…}[[Handler]]:对象[[target]] :ResponderSyntheticEvent[[IsRecoked]]:false React使用“合成事件”系统来
代理
,而不是函数参数中实际期望的
这是怎么回事?我希望在我的日志中看到hello world
,但我看到的是:
这是什么?代理{dispatchConfig:Object,_targetist:Constructor,nativeEvent:
对象,类型:未定义,目标:196…}[[Handler]]:对象[[target]]
:ResponderSyntheticEvent[[IsRecoked]]:false
React使用“合成事件”系统来平滑不同浏览器中事件处理之间的差异。如果该参数是标准浏览器事件对象,通常可以使用a.target.value
或类似的方法来处理该参数
有关更多信息,请参阅和上的React文档
现在,看看你的例子,我有点困惑到底发生了什么。基于这个片段,是的,我希望
A
将是字符串“helloworld”。如果您可以显示更多代码,可能会有更多帮助。答案是:我不仅将切换模式
传递给MyComponent中的另一个函数,而且传递给一个按键的道具,从而使它成为一个合成事件。我忘记了onPress上的prop,所以控制台日志实际上来自那里,而不是myComponent中的另一个函数。因此,在意识到我能够按照预期从onPress
向函数传递参数后,我认为您认为它是某种合成事件是正确的,但是A.target.value
返回未定义的,而A.type
返回272。我添加了更多代码来帮助您查看组件的结构。
class MyComponent extends Component {
state={}
toggleModal = (A) => {
console.log('what is this?', A)
this.setState((prevState, props) => {
return { openShippingModal: !prevState.openShippingModal };
});
}
anotherFunctionInMyComponent = selection => {
///do stuff
this.toggleModal('hello world');
};
componentDidMount = () => {
/* do sutff */
}
render(){
//return stuff
}