javascript - ReactJS - 让 JSX 将 Prop 值识别为导入类

标签 javascript reactjs

您好,感谢您抽出宝贵时间。

这里是 React 和 JS 新手。

我正在使用两段代码:

index.js

import React, { Component } from 'react'; im
import ReactDOM from 'react-dom';
import './index.css';
import Modals from "./Modal";
import EditorComponent from './Editor';

ReactDOM.render(<Modals childComponent="<EditorComponent />" />, document.getElementById('root'));

Modal.js

import React, {Component} from 'react';
import EditorComponent from './Editor';
import { Modal } from 'react-bootstrap';
import { Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';

 class Modals extends Component {


    render() {

        return (
            <div className="static-modal">
              <Modal.Dialog>
                <Modal.Header>
                  <Modal.Title>Journey onward...</Modal.Title>
                </Modal.Header>

                <Modal.Body>{this.props.childComponent}</Modal.Body>

                <Modal.Footer>
                  <Button>Close</Button>
                  <Button bsStyle="primary">Save changes</Button>
                </Modal.Footer>
              </Modal.Dialog>
            </div>
        );
    }
}

export default Modals;

问题

如果我要替换 {this.props.childComponent}Modal.js 中使用 <EditorComponent /> ,类被成功调用。然而,当从 index.js 传递时,如上面的代码所示,Modal 被成功调用,但正文内容中只有“<EditorComponent />”作为纯文本。

我无法理解为什么会这样。在此先感谢您的帮助。

最佳答案

你可以使用 child 而不是这样做。你在这里传递的是字符串,所以你在那里得到纯文本。所以你需要将 ReactDOM.render 更改为:

ReactDOM.render(<Modals><EditorComponent/></Modals>, document.getElementById('root'));

并将您的 modal.js 更改为:

    import React, {Component} from 'react';
import EditorComponent from './Editor';
import { Modal } from 'react-bootstrap';
import { Button } from 'react-bootstrap';
import 'bootstrap/dist/css/bootstrap.min.css';

 class Modals extends Component {


    render() {

        return (
            <div className="static-modal">
              <Modal.Dialog>
                <Modal.Header>
                  <Modal.Title>Journey onward...</Modal.Title>
                </Modal.Header>

                <Modal.Body>{this.props.children}</Modal.Body>

                <Modal.Footer>
                  <Button>Close</Button>
                  <Button bsStyle="primary">Save changes</Button>
                </Modal.Footer>
              </Modal.Dialog>
            </div>
        );
    }
}

export default Modals;

或者将其作为组件而不是字符串传递:

ReactDOM.render(<Modals childComponent={<EditorComponent />} />, document.getElementById('root'));

关于javascript - ReactJS - 让 JSX 将 Prop 值识别为导入类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51441331/

相关文章:

javascript - 为什么我的 ajax 调用第一次就不起作用?但正在处理下一个电话

javascript - 如何在具有默认导出的 TypeScript 类型中描述 JavaScript 类静态工厂方法?

javascript - 正则表达式请求 - 删除字符

javascript - React.js 中游戏币的结账按钮

asp.net - 如何加快我的网站速度(后台)

javascript - 为什么我不能在 angular 2 组件中加载谷歌地图?

javascript - 在 React 中使用 Array.Map() 返回子数组

reactjs - React 补码未被读取

reactjs - 为什么全局变量在 React 中执行两次

node.js - 为什么通过刷新浏览器上的 localhost 页面,bundle_client 会卡在挂起状态?