Meteor React 教程第 2 步不起作用
Posted
技术标签:
【中文标题】Meteor React 教程第 2 步不起作用【英文标题】:Meteor React Tutorial Step 2 did not work 【发布时间】:2018-03-13 15:20:59 【问题描述】:我正在做 Meteor React 简单待办事项教程。 第一步只是创建应用程序,cd 进入应用程序目录并运行流星。到目前为止一切顺利。
我按照步骤 2 中的说明进行了更改,但未显示待办事项列表。我得到一个空白屏幕。
代码与https://www.meteor.com/tutorials/react/components 上的给出完全相同 在浏览器或控制台中都不会显示任何错误消息。
版本:Meteor 1.5.2.1,操作系统 = Ubuntu 16.04 LTS
【问题讨论】:
您需要在此处发布您的问题代码:minimal reproducible example 如果教程不起作用,请告诉他们。如果没有代码和错误消息,我们将无法帮助您 代码与meteor.com/tutorials/react/components教程中给出的代码完全相同。没有错误信息显示。 如果该链接更改或失效,您的教程链接对任何人都没有任何价值。这就是为什么您的问题被否决并最终被删除的原因。 那么为什么问题 36137862 没有被降级并“最终”被删除呢? #justasking 【参考方案1】:尝试删除Blaze
meteor remove blaze-html-templates
并添加static-html
meteor add static-html
在此之前,请确保您的文件中没有拼写错误。您可以从这些文件中复制代码。不用担心这些代码仅适用于第 2 步。
client/main.html
client/main.js
imports/ui/App.js
imports/ui/Task.js
如果这不起作用,您始终可以使用命令add
而不是remove
恢复回来添加回blaze
并删除static-html
。
【讨论】:
【参考方案2】:找到答案。解决办法是把Task.jsx改成如下:
import React, Component from 'react';
import PropTypes from 'prop-types';
export default class Task extends Component
render()
return (
<li>this.props.task.text</li>
);
Task.propTypes =
task: PropTypes.object.isRequired,
;
这是在 github 页面meteor/simple-todos-react 上给出的。链接是 https://github.com/meteor/simple-todos-react/commit/ef2c0f0e13af648e784f0c96fe573d923009f919
【讨论】:
【参考方案3】:今晚花了几个小时。这是我最终修复它的方法
-
我删除了火焰
meteor remove blaze-html-templates
添加静态htmlmeteor add static-html
。不这样做会导致Uncaught Error: Target container is not a DOM element.
更改Task.jsx
,使其变为并在App.js
中将导入语句更改为import Task from './Task.jsx';
Task.jsx
的内容
import PropTypes from 'prop-types';
import React, Component from 'react';
export default class Task extends Component
render()
return (
<li>this.props.task.text</li>
);
Task.propTypes =
task: PropTypes.object.isRequired,
;
查看其他讨论here
【讨论】:
以上是关于Meteor React 教程第 2 步不起作用的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB & Meteor - 推入嵌套数组的查询不起作用,没有抛出错误