javascript - React + Meteor : this. Prop 返回未定义

标签 javascript meteor reactjs react-router

你好,我不知道为什么,但我正在尝试处理一些静态数据,并使用 meteor 和 react 项目中的 Prop 传递它,但无法访问我在“更新”变量中创建的静态数据..有人可以帮助我理解吗?为什么并解决这个问题,非常感谢您:)

import React, { Component } from 'react';
import { default as UpdateCard } from '../components/UpdateCard.jsx';

let updates = {
    title: 'Replace Title A with B',
    content: 'Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis,   malesuada ultricies. Curabitur et ligula'
}

export default class UpdatesView extends Component {
    render() {
        console.log(this.props.updates);
        return (
            <div>
                <UpdateCard updates={this.props.updates}/>       
            </div>
        )
     }
}

最佳答案

您的代码正在按预期运行。使用 let 关键字创建的变量不是 prop,而只是局部变量。 this.props.updates 将返回未定义,因为

  • updates 属性未传递到 UpdatesView 组件
  • UpdatesView 上未指定更新属性的默认值

尝试在 UpdatesView 类下面添加以下内容,它会将默认 Prop 添加到您的组件中。

    UpdatesView.defaultProps = {
      updates:  {
           title: 'Replace Title A with B',
           content: 'Lorem ipsum dolor sit amet enim. Etiam '
       }
    }

关于javascript - React + Meteor : this. Prop 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37282877/

相关文章:

javascript - 使用 Meteor-Angular 进行参数订阅

reactjs - 重复的字符串索引签名.ts(2374)

javascript - 使用 Javascript 更改标题

Javascript之谜: variables in functions

javascript - Email.send 问题是电子邮件未在 Meteor 中定义

json - Meteor 在客户端集合中插入日期或时间戳

javascript - 为什么在 React 中使用 .map() 时需要展开运算符,而在纯 JavaScript 中不需要?

javascript - 将相同 Prop 和文本渲染到不同组件类型的 DRY React 方法

javascript - 删除扩展程序的权限

javascript - 将 Razor 数据插入 src 和 href 属性