我的JSX文件中有以下简单的react代码:

/** @jsx React.DOM */

var Hello = React.createClass({
    render: function() {
        return <div><img src='http://placehold.it/400x20&text=slide1' alt={event.title} class="img-responsive"/><span>Hello {this.props.name}</span></div>;
    }
});

React.renderComponent(<Hello name="World" />, document.body);

DOM中的输出如下所示:

<div data-reactid=".0">
  <img src="http://placehold.it/400x20undefined1" data-reactid=".0.0">
  <span data-reactid=".0.1">
    <span data-reactid=".0.1.0">Hello </span>
    <span data-reactid=".0.1.1">World</span>
  </span>
</div>

我有两个问题:

有什么 idea 吗?

推荐答案

记住,img实际上不是一个DOM元素,而是一个javascript表达式.

  1. 这是一个JSX属性表达式.在src字符串表达式周围放上大括号,它就会起作用.见http://facebook.github.io/react/docs/jsx-in-depth.html#attribute-expressions

  2. 在javascript中,class属性是使用className的引用.见本节注释:http://facebook.github.io/react/docs/jsx-in-depth.html#react-composite-components

    /** @jsx React.DOM */
    
    var Hello = React.createClass({
        render: function() {
            return <div><img src={'http://placehold.it/400x20&text=slide1'} alt="boohoo" className="img-responsive"/><span>Hello {this.props.name}</span></div>;
        }
    });
    
    React.renderComponent(<Hello name="World" />, document.body);
    

Reactjs相关问答推荐

当props 更改时,React Native功能组件不会更新

有没有方法覆盖NextJS 14中的布局?

在带有和设计的表格中禁用和取消选中复选框

react 派生状态未正确更新

避风港访问端口以包含Reaction应用程序

我应该如何管理设置组件初始状态的复杂逻辑?

React Context未正确更新

错误:无法获取 RSC 负载.返回浏览器导航

当从子状态更改复制时,react 父状态更改.我该如何防止这种情况?

Symfony ux-react:使用react_component()时React组件不会渲染

在 useSelector() 中使用 array.map() 如何导致组件在分派操作时重新渲染?

React-router动态路径

如何管理可重用无线电输入的 React 状态?

React - 如何重定向页面以显示数据修改?

卸载 React 组件时未清除本地存储项目

DatePicker MUI 如何在日历左侧显示清除文本

当从数组中删除数据时,UseEffect 不会重新渲染,仅在添加数据时才会重新渲染

如何将我的 ID 值传递给下一个组件?

从 API 中提取映射数组后出现重复元素

链接的音译 Gatsby JS