- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试设置 dynamic routing使用 react 路由器和 webpack。 require.ensure
函数加载模块,但是 getComponent方法不渲染组件。
在我的示例中,Button
组件默认呈现(在主页上)。当我点击按钮时,路由器将我重定向到/admin url,我可以在我的 Web 控制台中看到 require.ensure
加载了新 block ,但是 Label
组件没有呈现.
index.jsx
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {Router, Route, useRouterHistory, browserHistory} from 'react-router';
import { createHashHistory } from 'history'
import Button from './components/button';
let appHistory = useRouterHistory(createHashHistory)({queryKey: false});
ReactDOM.render(
<Router history={appHistory} onUpdate={() => window.scrollTo(0, 0)}>
<Route path="/" component={Button} >
<Route path="index" getComponent={(nextState, cb) => {
require.ensure([], function (require) {
cb(null, require('./components/button').default)
})}}
/>
<Route path="admin" getComponent={(nextState, cb) => {
require.ensure([], function (require) {
cb(null, require('./components/label').default)
})}}
/>
</Route>
</Router>
, document.getElementById('content')
);
按钮.jsx
var React = require('react');
var bootstrap = require('bootstrap');
var bootstrapStyle = require("bootstrap/dist/css/bootstrap.css");
export default class Button extends React.Component {
constructor(props) {
super(props);
this.onRedirect = this.onRedirect.bind(this);
}
onRedirect(){
this.context.router.push({
pathname: `/admin`
});
}
render() {
return <button className="btn btn-info" type="button" onClick={this.onRedirect}>
<span className="glyphicon glyphicon-refresh"></span>
</button>;
}
}
Button.contextTypes = {
router: React.PropTypes.object
};
label.jsx
var React = require('react');
var bootstrap = require('bootstrap');
var bootstrapStyle = require("bootstrap/dist/css/bootstrap.css");
export default class Label extends React.Component {
render() {
return <span className="label label-default">Default</span>;
}
}
package.json
"dependencies": {
"babel": "^6.5.2",
"babel-core": "^6.18.0",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"bootstrap": "^3.3.7",
"css-loader": "^0.25.0",
"file-loader": "^0.9.0",
"history": "^2.0.1",
"html-webpack-plugin": "^2.24.1",
"http-server": "^0.9.0",
"jquery": "^3.1.1",
"less": "^2.7.1",
"less-loader": "^2.2.3",
"node-sass": "^3.10.1",
"npm-install-webpack-plugin": "^4.0.4",
"react": "^15.3.2",
"react-dom": "^15.3.2",
"react-router": "^3.0.0",
"sass-loader": "^4.0.2",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2",
"webpack-merge": "^0.15.0"
}
最佳答案
您的问题不是 getComponent
或动态路由,但您的路由配置。导航到 /admin
时,react-router 匹配您的顶级和管理路由并相应地呈现:<Button><Label /></Button>
.自 Button
不呈现 this.props.children
, Label
也不会被渲染。
通过查看您的代码,也许这就是您想要的配置:
<Route path="/" component={props => <div>{props.children}</div>}>
<IndexRoute component={Button} />
<Route path="index" />
<Route path="admin" />
</Route>
您可以在 route configuration guide 中阅读更多关于如何呈现组件的信息。和 Route API .
关于javascript - getComponent 不渲染组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344401/
我想知道转换和游戏对象获取组件之间有什么区别。 我在这里查看了此资源:https://answers.unity.com/questions/1360282/what-is-the-differenc
我想实现this具有分页和排序功能的 JSF 页面。不幸的是,当使用 getComponent() 时,Netbeans 显示错误: cannot find symbol symbol: me
我只能在 java 中的等价物的任何地方找到它,但有谁知道 getComponent("name").value 的 EL 等价物是什么? 最佳答案 这是组件绑定(bind)到的任何内容......所
正如标题所说,GetComponent() 确实对性能有很大影响。 我问这个是因为我不喜欢这样做: public class Player : MonoBehaviour { PlayerSt
我尝试设置 dynamic routing使用 react 路由器和 webpack。 require.ensure 函数加载模块,但是 getComponent方法不渲染组件。 在我的示例中,But
我正在尝试编写一个简单的 GUI,这是我第一次使用 swing。我正在尝试对框架使用 getComponents() ,以便我可以访问其面板之一。但是,我收到该方法的错误“未找到符号”。我看过其他一些
我正在尝试制作一个类似于 UnityEngine 的 java 组件系统,并希望构建一个通用的 GetComponent() 方法。尝试返回找到的类型时我陷入困境 public T GetC
在类级别声明 var 组件还是稍后在代码中使用 GetComponent 引用它们更好? 例子: vitals = GetComponent(); weapon = GetComponent(); 或
所以我有一个非常基本的动画 ActionScript ,但我什至无法进入实际的动画部分,因为我遇到了这个错误: Assets/Player Controllers/PlayerController.c
我正在尝试创建一个定位系统。 当我点击一个骷髅敌人时,我希望能够从骷髅脚本中获取生命值和伤害,同样,当我点击另一个敌人时,我希望获得他们特定的生命值和损坏。 我能想到的唯一方法是使用 GetCompo
在 Unity 5.4/5.5 中,我遇到了一个问题,GetComponent 由于某种原因没有返回我的游戏对象的 CharacterController。在我重新启动 Unity 后,它再次工作。
我正在使用 C# 在 Unity 2017 中开发一个简单的游戏。 在我的关卡菜单中,我有一个文本对象,里面有一个按钮组件,并附有一个脚本。 这是脚本中当前的内容: using System.Coll
我正在使用 Container.getComponents() 获取存储在容器内的组件数组。然后,我正在修改这些组件之一(恰好是 JLabel),但更改未显示在 GUI 上。 所以我在想,也许该方法会
我有一个 XPage,它使用 JQuery 对话框和客户端验证来验证用户处理的输入。问题是,当我单击“添加”按钮时,客户端验证有效,但“无法”在服务器端找到这些字段的属性。当用户单击“打开对话框”按钮
我一直在调试另一个问题中的方法,尽管它已被修复,但评论让我相信我做的事情很糟糕,但没有人能够提出如何改进它的建议。 我正在编写的渲染引擎使用受 unity 启发的组件系统。 GetComponent<
我想编写一个 util 方法来获取给定游戏对象上的组件。看起来像这样…… public static MonoBehaviour FindAndAssignComponent(string n
我试图理解 GetComponent,但我很难弄清楚如何编写语法。我有两个脚本(SpawnBehaviour 和 SpotClicked)并想从“SpawnBehaviour 到 SpotClicke
我已经四处搜索,但就是无法让它工作。我想我只是不知道正确的语法,或者只是不太了解上下文。 我有一个包含公共(public)整数的 BombDrop 脚本。我得到它来使用 public static,但
使用以下代码,我能够从“SMG”获取脚本并将其应用于武器对象: weaponObject = GameObject.FindGameObjectWithTag(SMG).GetComponent();
我对JAVA仅有一般的了解,最近我想尝试统一。因此,有了YT教程(https://www.youtube.com/watch?v=V7YhzzfiW9c)和我开始的一些美好希望,Unity使用了C#,
我是一名优秀的程序员,十分优秀!