这给出了一个错误: Error: Element type is invalid:-6ren">
gpt4 book ai didi

javascript - 如何将组件对象传递给 React.js 中的容器?

转载 作者:行者123 更新时间:2023-11-29 17:53:22 24 4
gpt4 key购买 nike

我的目标是在多个组件中重用 Bootstrap 中的模态。我有一个问题,如何将组件传递给容器?

   <ModalContainer
title="Password recovery"
body="<LoginRecoverForm someprophere='' />"
/>

这给出了一个错误:

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of `ModalLoginRecover`.

这是一个简单的容器:

import { Modal } from 'react-bootstrap/lib/'
var React = require('react')

var ModalContainer = React.createClass({

getInitialState() {
return { showModal: true };
},

close() {
this.setState({ showModal: false });
browserHistory.push('/login');
},

open() {
this.setState({ showModal: true });
},

render: function () {
return (
<div>
<Modal show onHide={this.close}>

<Modal.Header closeButton>
<Modal.Title>{this.props.title}</Modal.Title>
</Modal.Header>

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

</Modal>
{this.props.children}
</div>
)}});

module.exports = ModalContainer;

这是一个简单的组件:

import {Modal, HelpBlock, FormGroup, Button, FormControl } from 'react-bootstrap/lib/'
var React = require('react');
import { Router, ReactRouter, browserHistory } from 'react-router';

var ModalContainer = require('../../containers/ModalDialog')

function FieldGroup({ id, help, type, placeholder }) {
return (
<FormGroup controlId={id}>
<FormControl type={type} placeholder={placeholder} />
{help && <HelpBlock>{help}</HelpBlock>}
</FormGroup>
);
}

function LoginRecoverForm(){

return (
<form method="POST" action="">
<FieldGroup
id="formControlsEmail"
type="email"
placeholder="Enter your E-mail"
/>

<Button type="submit">Recover!</Button>

</form>
)};

var ModalLoginRecover = React.createClass({
render: function () {
return (
<div>
<ModalContainer
title="Password recovery"
body="<LoginRecoverForm someprophere='' />"
/>
</div>
)}});

module.exports = ModalLoginRecover;

最佳答案

尝试:

   <ModalContainer
title="Password recovery"
body={(() => {return <LoginRecoverForm someprophere='' />})()}
/>

关于javascript - 如何将组件对象传递给 React.js 中的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com