Javascript 为什么访问调用元素的道具在React Native中不起作用

Javascript 为什么访问调用元素的道具在React Native中不起作用,javascript,reactjs,react-native,Javascript,Reactjs,React Native,当按下按钮时,此React本机代码将抛出错误: import React from 'react'; import { View, Button } from 'react-native'; const handleClick = (event, {title}) => { console.log('name of button was ', title); } const App = () => { return ( <View><Bu

当按下按钮时,此React本机代码将抛出错误:

import React from 'react';
import {
  View,
  Button
} from 'react-native';

const handleClick = (event, {title}) => {
  console.log('name of button was ', title);
}

const App = () => {
  return (
    <View><Button title='Test' onPress={handleClick} /></View>
  );
};

export default App;

从“React”导入React;
进口{
看法
按钮
}从“反应本机”;
常量handleClick=(事件,{title})=>{
console.log('按钮的名称是',标题);
}
常量应用=()=>{
返回(
);
};
导出默认应用程序;
而React代码不是:

import React from 'react';
import './App.css';
import { Button } from 'semantic-ui-react';

const handleClick = (event, {title}) => {
  console.log('name of button was ', title);
}

function App() {

  return (
    <div className="App">    
      <Button title='Test' onClick={handleClick} >Test</Button>
    </div>
  );
}

export default App;
从“React”导入React;
导入“/App.css”;
从“语义ui反应”导入{Button};
常量handleClick=(事件,{title})=>{
console.log('按钮的名称是',标题);
}
函数App(){
返回(
试验
);
}
导出默认应用程序;
第一个错误是:“TypeError:undefined不是对象(计算'\u ref.title')”

为什么,在这种情况下,React和React Native有什么区别? 为了在React Native中获得类似的结果,我应该如何编写相同的代码?也就是说,如何获取调用元素的属性

React本机版本是使用React本机cli版本生成的,该版本是纯项目,没有附加组件。
React版本已使用Create React App制作,并添加了语义Ui,但没有其他附加组件。

除非调用元素决定将其传递给回调,否则无法获取调用元素的道具。在您的例子中,它是语义ui react组件的一个特性—请参阅其
onClick
prop的文档

因此,您需要将react本机示例中的代码替换为以下内容以显式传递标题:

onClick={e => handleClick(e, {title: 'Test'})}

或者将其简化为
onClick={e=>handleClick(e,'Test')}
并移除
handleClick
中解包的对象(如果您只需要标题)。

除非调用元素决定将其传递给回调,否则无法获取调用元素的道具。在您的例子中,它是语义ui react组件的一个特性—请参阅其
onClick
prop的文档

因此,您需要将react本机示例中的代码替换为以下内容以显式传递标题:

onClick={e => handleClick(e, {title: 'Test'})}
或者将其简化为
onClick={e=>handleClick(e,'Test')}
并删除
handleClick
中的解包对象(如果只需要标题)