小编ins*_*ere的帖子

在JSX中调用javascript函数:为什么不使用()调用函数会起作用?

目前在Codecademy上学习有关React的知识。

来到这段代码:

import React from 'react';
import ReactDOM from 'react-dom';

function makeDoggy(e) {
  // Call this extremely useful function on an <img>.
  // The <img> will become a picture of a doggy.
  e.target.setAttribute('src', 'https://s3.amazonaws.com/codecademy-content/courses/React/react_photo-puppy.jpeg');
  e.target.setAttribute('alt', 'doggy');
}

const kitty = (
  <img 
    src="https://s3.amazonaws.com/codecademy-content/courses/React/react_photo-kitty.jpg" 
    alt="kitty" 
    onClick={makeDoggy}
  />
  	
);

ReactDOM.render(kitty, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)

const kitty的onClick属性设置为makeDoggy函数。为此,您必须指出要使用Javascript,因此要使用{}括号。但是正确的答案是使用makeDoggy而不是使用标准函数调用:makeDoggy()。

另外,makedoggy函数具有e参数。该函数什么时候传递?如何在函数需要一个不存在的参数的情况下调用makeDoggy?

javascript jsx reactjs react-native

3
推荐指数
1
解决办法
1457
查看次数

标签 统计

javascript ×1

jsx ×1

react-native ×1

reactjs ×1