javascript - 在 ReactJS 中传递 props 并且它们不会加载,同时收到目标容器错误?

标签 javascript twitter-bootstrap reactjs state prop

希望有人能够阐明我最近遇到的问题。我正在尝试为某人创建一个登陆页面来编辑一些个人资料信息(用户名、电子邮件等)。问题是当我将 Prop 从一个函数传递到另一个函数时,它们加载为未定义。相关代码如下...

class ChangeFields extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            user: [
                {
                    username: "test"
                }
            ]
        }
    }
    render() {
        const formSample = (
            <div>
                <h3>Account Information:</h3>
                <br></br>
                <CurrentInfo user={this.state.user} onItemSelect={this.updateInfo()} />
            </div>
        );
        return formSample;
    }
}

const CurrentInfo = ({user, onItemSelect}) => {
    console.log(user.username);
    const formElement = (
        <Form horizontal>
            <FormGroup controlId="formHorizontalUsername">
                <Col componentClass={ControlLabel} sm={2}>
                    {user.username}
                </Col>
                <Col sm={10} value={user.username}>
                    <FormControl controlId="testControl" value={user.username} />
                </Col>
            </FormGroup>
        </Form>
    );
    return formElement;
};

不幸的是,CurrentInfo block 中的“user.username”输出为未定义。有什么见解吗?注意:这是代码的简化版本,如果需要更多代码,我可以提供。

还值得注意的是,我收到一条警告:未捕获错误:_registerComponent(...):目标容器不是 DOM 元素。

我尝试将 index.html 中的行移至底部,正如其他人所建议的那样,但这并不能解决问题。

最佳答案

Unfortunately, the "user.username" in the CurrentInfo block outputs as undefined. Any insight?

这个:

this.state = {
            user: [
                {
                    username: "test"
                }
            ]
        }

应该是:

this.state = {user: {username: "test"}};

您当前正在将 user 属性设置为数组。

It is also worth noting, that I receive a warning of: Uncaught Error: _registerComponent(...): Target container is not a DOM element.

这可能发生在您问题之外的代码中。

关于javascript - 在 ReactJS 中传递 props 并且它们不会加载,同时收到目标容器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40559068/

相关文章:

javascript - 如何在函数react js中更新组件状态?

javascript - 如何根据HTML表格创建excel文件并保存到项目目录中

javascript - 在 Handlebars 中包含js文件

Javascript 单独使用变量声明

javascript - 使用 jquery 在按钮单击上移动 div 时设置增加边距的最大值

javascript - 当新的 props 被传递时,React 子组件状态不会更新

javascript - Bootstrap 和 Javascript - 卡片图标未切换

jquery - Bootstrap - 使按钮与不等量的文本对齐并使用 matchHeight.js

jquery - Bootstrap slider 滑动时链接闪烁 - Bootstrap 中的错误

javascript - 使用 onClick 函数检测正在单击的元素