小编Syn*_*BBB的帖子

React-Router - 未捕获TypeError:无法读取未定义的属性'getCurrentLocation'

我正在使用最新版本react-router(版本^ 3.0.0).

我使用ES5编写了以下路由:

routes.js:

var React = require("react");
var Router = require("react-router");
var AuthorPage = require('./components/authors/authorPage')
var App = require('./components/app')
var Route = Router.Route;

var routes = (
    <Route path="/" component={App}>
        <Route path="authors" component={AuthorPage}/>
     </Route>
);

module.exports = routes;
Run Code Online (Sandbox Code Playgroud)

在另一个名为main.jsI的JS文件中,执行以下调用:

main.js:

var React= require("react");
var ReactDom = require("react-dom");
var Router = require('react-router').Router;
var routes = require('./routes');
ReactDom.render(<Router routes={routes}></Router>, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我在Google Chrome开发人员工具中遇到以下异常:

未捕获的TypeError:无法读取未定义的属性'getCurrentLocation'

这是为什么?我错过了什么?

browserify reactjs react-router

51
推荐指数
2
解决办法
4万
查看次数

C++嵌套类 - 内/外关系

我在社区和外面阅读了一些关于嵌套类的帖子,我很困惑.

据我所知,在C++中,嵌套类与单独/独立类没有任何不同.

当我试图更好地理解conecpt时,我编写了一个简单的代码,我发现内部类可以访问外部类而不需要从外部类中获得友谊.

例如:

class Outer {
private : // default access modifier
    int x;
    static int sx;
public:
    class Inner {
    public:
        void changeOuterDataMemberValues(int value) {
            sx = value; // changes the private static data member of Outer.

            Outer out;
            out.x = value; // changes the private data member via object (not via class!)
        }
        void printMyOuterDataMember()  {
            cout << sx; // prints the private data member of Outer.
        }
    };
};


class Lonesome { …
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
1
解决办法
5289
查看次数

简单的"数组中的最大值"和复杂度计算

我对这些东西很新,我需要你的帮助.

我应该构建一个有效的简单算法,它在大小为n的数组中返回最大值,其中包含带重复的数字1,2,... n.

然后我必须确定最佳运行时间,平均运行时间和最差运行时间.

所以我有两个问题:

  1. 首先,我试图了解为这个简单的算法要求有效解决方案的想法.据我所知,我应该只有一个从1到n的简单循环,并寻找最大值."高效"算法是否指出如果我在数组中找到值n,我可以停止搜索更多值,因为这是数组中的最大值?

  2. 在计算平均运行时间时,如何确定最佳运行时间和平均运行时间,即均匀分布.也就是说,阵列中的每个单元都有1/n的概率为最大值.

非常感谢提前!

algorithm complexity-theory

7
推荐指数
1
解决办法
2万
查看次数

c ++ OOP设计 - 将数据成员传递给其他类 - 这是否合理?

我还有一个问题,希望能够总结我的想法.

假设我有以下3个类:

班级球员:

class Player {
private:
    int positionX, positionY;
public:
    void move(Board& b) {
      // player changes its position on the board(move)
      b.removeCharFromBoard(positionX, positionY);
      positionX++;
      positionY++;
      // 'P' indicates a Player in the Board....
      b.insertCharToBoard(positionX, positionY, 'P');
    }
};
Run Code Online (Sandbox Code Playgroud)

班主任:

class Board {
private:
    // BOARD_C and BOARD_R are both "#define ..." for some integer number.
    char board[BOARD_C][BOARD_R];
};
Run Code Online (Sandbox Code Playgroud)

class GameEngine:

class GameEngine {
private:
     Board* board;
public:
     void playTurn(const Player& p) {
        p.move(board);
     }
};
Run Code Online (Sandbox Code Playgroud)

你认为GameBoard的playTurn函数会用参数"board"调用Player的移动功能似乎是合理的吗?我需要这样做才能在棋盘数据成员中标记玩家已经改变了他的位置.它是否遵守OOP基本规则?

谢谢大家,辛迪加!

c++

6
推荐指数
1
解决办法
1528
查看次数

C++ 成员函数和类大小

可能的重复:
为什么类的大小仅取决于数据成员而不取决于成员函数?

当我第一次学习继承时,我的老师说,与数据成员相反,成员函数不会改变类的大小。也就是说,如果类B继承自类A,当且仅当添加至少一个数据成员时,B的大小将大于A的大小,并且不会改变函数成员的数量。这是对的吗?如果是这样,这个机制是如何运作的?似乎两个成员都应该保存在堆中,因此会增加大小。

谢谢你,盖伊

c++

4
推荐指数
1
解决办法
3368
查看次数

全局对象和静态变量之间的破坏顺序是什么?

可能重复:
C++中的对象销毁

假设我们有两个类,一个被调用Array,另一个被调用MessageOnExit.

假设Array该类有一个名为的静态数据成员counter.

以下是课程:

class Array {
public:
    static int counter;
    Array(){counter++;}
    ~Array(){counter--;}
};

class MessageOnExit {
public:
    ~MessageOnExit(){cout << Array::counter;}
};
Run Code Online (Sandbox Code Playgroud)

以下是使用这些类的"主要":

// static variable definition
int Array::counter;
// global object definition
MessageOnExit message;

void main() {
    Array a1, a2;
    Array a3(a1);
}
Run Code Online (Sandbox Code Playgroud)

前两个声明将更改为counter2,然后两次调用Empty/Default构造函数.第三个声明不会更改,counter因为将调用Default复制构造函数.

现在main执行完成后,静态成员的值counter-1随后是析构函数调用(在a1,a2和a3被去除后),然后message将调用析构函数,打印此值(-1).

我的问题是counter,当message调用析构函数时,我们如何知道静态成员仍然存在且可用.

此外,如果我更改静态/全局对象/变量定义顺序,即message之前定义counter …

c++

4
推荐指数
1
解决办法
2577
查看次数

为什么在 XV6 中常量 PHYSTOP 被定义为 0xE000000?

据我所知,在 XV6 中,PHYSTOP 应该是 1GB。

如果是这样,PHYSTOP 应该是 0x40000000 (1GB) 而不是 0xE000000 (224MB),如http://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf 中所示

0203 #define PHYSTOP 0xE000000 // Top physical memory
Run Code Online (Sandbox Code Playgroud)

此外,在 XV6 中,进程可能会从 0 映射到 0x80000000(KERNBASE)。也就是说,一个进程可能使用 2GB 的地址空间。如果 PHYSTOP 不是 2GB,怎么可能?

我错过了什么?

c unix operating-system xv6

4
推荐指数
1
解决办法
1314
查看次数

React v16 水合物和 renderToNodeStream 与 render 和 renderToString

我已经了解了水合物和渲染之间的差异以及 renderToNodeStream 和 renderToString 之间的差异,然后我尝试创建一个示例项目来演示差异。从我所做的所有测试中,我找不到这些新函数之间的行为有任何差异。

例如,我创建了一个简单的 Hello World 程序,其中“World”是我的 App 组件的参数,我的 server.js 和 browser.js 都使用共享的 App 组件来设置参数(在服务器中参数值设置为“World”并在浏览器中将参数值设置为“Me”)。正如我所期望的,当我使用 browser.js 中的 Hydro 函数运行应用程序时,它应该忽略差异,因为据我了解 Hydrate 不应该更改组件值,而只添加事件侦听器。但是当我运行应用程序时,我看到Hello World,几毫秒后它变成Hello Me(这是我期望渲染而不是水合)。

我还尝试通过创建一个示例应用程序来测试新的 renderToNodeStream 函数,其中来自服务器的数据传输缓慢。我希望我的应用程序在服务器将数据块传输到客户端时运行,但它似乎与 renderToString 完全一样工作(所有组件字符串同时出现)。

有人可以帮助我并解释我做错了什么吗?

javascript reactjs

3
推荐指数
1
解决办法
3840
查看次数

模板调用中的c ++模板

关于c ++模板机制的一个小问题.假设我们有一个名为Point的类.现在假设"Data"是模板类/容器,仅包含T(模板)数据成员.也就是说,"数据"看起来或多或少是这样的:

Template <class T>
class Data {
T dMember;
……..
};
Run Code Online (Sandbox Code Playgroud)

现在假设有人在main.cpp文件中使用此类并执行以下声明:

Data<Data<Point>> d;
Run Code Online (Sandbox Code Playgroud)

我试图完全理解对象的创建方式.我试图使用编译器进入课堂电话,但无济于事.我知道数据需要初始化数据,所以它自己调用一次,但它真正做到了什么?是否有激活构造函数?

谢谢,盖伊

c++ templates

2
推荐指数
1
解决办法
142
查看次数

什么是bash中的unix历史命令"!$"?

我试图了解什么是unix命令!$.

例如,我知道该命令!1用于运行历史命令编号1.

它似乎!$运行在bash中键入的最后一个命令.

例如,如果我写mv folder12 folder123,然后我会写,cd !$我会实际上预先形成cd folder123.

!$运行在bash中输入的最后一个命令是否正确?

unix linux bash shell command-line

2
推荐指数
1
解决办法
811
查看次数

Dynamodb 一次批量扫描与多次单次获取

假设我有一个 lambda 函数,并且作为事件参数,我得到了大约 50 个主 id,我必须在 dynamodb 表中查找它们,那么更好的方法是什么 - 50 个查询,每个查询由不同的主 id 或一次扫描然后将扫描主 ID 结果与作为参数接收的主 ID 进行比较?

我认为 50 个 get 查询在性能方面会更好,因为如果明天我将有 100 万条记录,那么扫描所有记录然后仅过滤其中的 50 条将浪费时间和内存,但另一方面却不会对 dynamodb 的 50 个请求可能会出现性能问题并需要更多配置?

capacity amazon-web-services throughput amazon-dynamodb aws-lambda

2
推荐指数
1
解决办法
1641
查看次数

ANSI转义码序列“ ESC [&gt; c”是什么?

在bash中输入“ vi [FILENAME]”后,得到以下结果:

.... \r\"gu1.txt\" 16L, 87C ESC[>cESC[1;1H 111\r\n1112.....

该行中标记的第一个文本是文件名称,紧随vi结果的行数和列数。

第二课包含两个我不理解它们含义的转义序列:ESC[>cESC[1;1H

最后的文本包括作为vi结果显示的文本,即文件的内容。

您能否解释一下ANSI转义码序列是什么ESC[>c,以及它与紧随其后的转义码序列之间的关系ESC[1;1H

提前致谢

bash terminal ansi-escape

1
推荐指数
1
解决办法
634
查看次数