- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 reactjs 的新手,所以如果我不能正确地表达这个问题,请原谅。所以我有这个 jsx 脚本文件,它在加载后立即将我的 react 组件呈现到我的 View 中。最初在此脚本文件中,我的组件中没有要显示的任何数据,因此我不渲染任何子组件。然而,在稍后的某个时间点,当我从一个 Web 服务接收数据时,我非常想用该数据再次呈现组件。
我的 JSX 脚本文件中的组件没有状态,它只是应该显示我传递给它的数据。
JSX 脚本可以很好地加载并呈现组件,最初没有在 JSX 文件本身中指定任何数据。但是,当我尝试在另一个 Javascript 文件中再次呈现该组件时,它会给我一个引用错误,组件未定义。
JSX 国家/*** @jsx React.DOM */是否创建了一个完全不同的命名空间?如果是这样,我该如何访问它?使用 JSX 脚本文件外部的新数据重新渲染组件的最佳方式是什么。提前致谢! :)
/**已编辑*/伙计们,很抱歉没有添加代码..而是让我把问题简单化..如何从我的javascript文件访问我的jsx脚本中的 react 组件?
/**已编辑*/好的伙计们,这是一个代码示例:
var Avatar = React.createClass({
render: function() {
return (
<div>
<ProfilePic username={this.props.username} />
<ProfileLink username={this.props.username} />
</div>
);
}
});
var ProfilePic = React.createClass({
render: function() {
return (
<img src={'http://graph.facebook.com/' + this.props.username + '/picture'} />
);
}
});
var ProfileLink = React.createClass({
render: function() {
return (
<a href={'http://www.facebook.com/' + this.props.username}>
{this.props.username}
</a>
);
}
});
React.render(
<Avatar username="pwh" />,
document.getElementById('example')
);
因此,上面的代码可以嵌入到指定为 jsx 脚本的 html 标记中,也可以从外部加载。注意 Avatar 元素中的 username 属性(层次结构中最顶级的 React 组件),问题是我们如何在另一个具有不同用户名的 javascript 文件中重新渲染 Avatar 组件?如果你像这样设置并运行,一切都很好。第一次加载组件时,它会将 pwh 设置为用户名。但是,我如何从我的 javascript(即在 jsx 脚本之外)访问此元素并使用新的用户名值重新呈现它?有可能吗?
最佳答案
我认为您在执行纯 JS 文件时遇到了问题 b/c,JSX 文件仍在由 JSXTransformer 转换,因此浏览器尚未处理。因此 JSX 文件中的符号尚未定义
我推荐两种方法:
为了开发/原型(prototype)目的:添加 /** @jsx React.DOM */
也添加到纯 JS 文件,并确保将此 js 文件包含在 HTML 页面中作为 type="text/jsx"
所以 Transformer 也会尝试翻译。
对于要投入生产的代码,请安装 jsx 编译器 npm install -g react-tools
,然后运行 jsx <src file> <output filename>
将你的 JSX 文件转换为普通的 javascript
看这个: http://facebook.github.io/react/docs/tooling-integration.html
附注您将应用程序入口点包装在 DOM.ready 回调或类似的东西中,对吗?
关于javascript - 如何从我的 Javascript 代码加载用 JSX 代码编写的 React 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26646603/
问题是,当用户回复彼此的帖子时,我必须这样做: margin-left:40px; 对于 1 级深度 react margin-left:80px; 对于 2 层深等 但是我想让 react div
我试图弄清楚如何将 React Router 与 React VR 连接起来。 首先,我应该使用 react-router dom/native ?目前尚不清楚,因为 React VR 构建在 Rea
我是 React 或一般编码背景的新手。我不确定这些陈述之间有什么区别 import * as react from 'react' 和 import react from 'react' 提前致谢!
我正在使用最新的稳定版本的 react、react-native、react-test-renderer、react-dom。 然而,react-native 依赖于 react@16.0.0-alp
是否 react 原生 应用程序开发可以通过软件架构实现,例如 MVC、MVP、MVVM ? 谢谢你。 最佳答案 是的。 React Native 只是你提到的那些软件设计模式中的“V”。如果你考虑其
您好我正在尝试在我的导航器右按钮中绑定(bind)一个功能, 但它给出了错误。 这是我的代码: import React, { Component } from 'react'; import Ico
我使用react native创建了一个应用程序,我正在尝试生成apk。在http://facebook.github.io/react-native/docs/signed-apk-android.
1 [我尝试将分页的 z-index 更改为 0,但没有成功] 这是我的codesandbox的链接:请检查最后一个选择下拉列表,它位于分页后面。 https://codesandbox.io/s/j
我注意到 React 可以这样导入: import * as React from 'react'; ...或者像这样: import React from 'react'; 第一个导入 react
我是 react-native 的新手。我正在使用 React Native Paper 为所有屏幕提供主题。我也在使用 react 导航堆栈导航器和抽屉导航器。首先,对于导航,论文主题在导航组件中不
我有一个使用 Ignite CLI 创建的 React Native 应用程序.我正在尝试将 TabNavigator 与 React Navigation 结合使用,但我似乎无法弄清楚如何将数据从一
我正在尝试在我的 React 应用程序中进行快照测试。我已经在使用 react-testing-library 进行一般的单元测试。然而,对于快照测试,我在网上看到了不同的方法,要么使用 react-
我正在使用 react-native 构建跨平台 native 应用程序,并使用 react-navigation 在屏幕之间导航和使用 redux 管理导航状态。当我嵌套导航器时会出现问题。 例如,
由于分页和 React Native Navigation,我面临着一种复杂的问题。 单击具有类别列表的抽屉,它们都将转到屏幕 问题陈述: 当我随机点击类别时,一切正常。但是,在分页过程中遇到问题。假
这是我的抽屉导航: const DashboardStack = StackNavigator({ Dashboard: { screen: Dashboard
尝试构建 react-native android 应用程序但出现以下错误 info Running jetifier to migrate libraries to AndroidX. You ca
我目前正在一个应用程序中实现 React Router v.4,我也在其中使用 Webpack 进行捆绑。在我的 webpack 配置中,我将 React、ReactDOM 和 React-route
我正在使用 React.children 渲染一些带有 react router 的子路由(对于某个主路由下的所有子路由。 这对我来说一直很好,但是我之前正在解构传递给 children 的 Prop
当我运行 React 应用程序时,它显示 export 'React'(导入为 'React')在 'react' 中找不到。所有页面错误 see image here . 最佳答案 根据图像中的错误
当我使用这个例子在我的应用程序上实现 Image-slider 时,我遇到了这个错误。 import React,{Component} from 'react' import {View,T
我是一名优秀的程序员,十分优秀!