小编Mar*_*ano的帖子

将自定义道具传递给react-router v4中的路由器组件

我正在使用React Router创建一个多页面应用程序.我的主要组件是<App/>,它将所有路由转换为子组件.我正试图通过路线传递道具,并且基于我所做的一些研究,子组件最常用的方式是传递到传递的道具是通过this.props.route它们继承的对象.但是,这个对象对我来说是不确定的.在我render()的子组件中的函数中,我将console.log(this.props)返回一个看起来像这样的对象

{match: Object, location: Object, history: Object, staticContext: undefined}
Run Code Online (Sandbox Code Playgroud)

看起来不像我期望的道具.这是我的详细代码.

父组件(我试图在我的所有子组件中将"hi"这个词传递给名为"test"的道具):

import { BrowserRouter as Router, HashRouter, Route, Switch } from 'react-router-dom';
import Link from 'react-router';
import React from 'react';

import Home from './Home.jsx';
import Nav from './Nav.jsx';
import Progress from './Progress.jsx';
import Test from './Test.jsx';



export default class App extends React.Component {

  constructor() {
    super();

    this._fetchPuzzle = this._fetchPuzzle.bind(this);
  }

  render() {
    return (
      <Router>
        <div>
          <Nav />
          <Switch> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-router-v4

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

通过github API异步递归获取文件

我正在使用 github API 来遍历存储库并获取其中所有文件的列表。这种结构称为“树”。树基本上是一个子目录。因此,如果我想查看树的内容,我需要向该树的 ID 发出 GET 请求。响应将是表示该树中的项目的对象数组。但其中一些项目也将是树,因此我必须向该树发出另一个获取请求。存储库可能如下所示:

|src
    app.jsx
    container.jsx
    |client
        index.html
readme.md
Run Code Online (Sandbox Code Playgroud)

该结构将由以下对象表示

[
    { name:'src', type:'tree', id:43433432 },
    { name:'readme.md', type:'md', id:45489898 }
]
//a GET req to the id of the first object would return the following array:
[
    { name:'app.jsx', type:'file', id:57473738 },
    { name:'contain.jsx', type:'file', id:748433454 },
    { name:'client', type:'tree', id:87654433 }
]
//a GET req to the id of the third object would return the following  array:
[
    { name:'index.html', type:'file', id:44444422 } …
Run Code Online (Sandbox Code Playgroud)

javascript github node.js promise github-api

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

SAS的自定义格式

嗨,我有兴趣为我在SAS生产的数据制作一些稍微复杂的自定义格式.我需要它是数字类型.

格式1

0="-"
>0="<number>%"
<0="<number>%"
Run Code Online (Sandbox Code Playgroud)

0 >>>>>>> -
.74 >>>>> 74%
-.65>>>>> -65%
Run Code Online (Sandbox Code Playgroud)

格式2

0="-"
>0="$<number(with commas)>"
<0="$(<number(with commas)>"
Run Code Online (Sandbox Code Playgroud)

0>>>>>>-
1467>>>>$1,467
-39087>>$(39,087)
Run Code Online (Sandbox Code Playgroud)

我使用这样的代码制作了简单的自定义格式

proc format;
picture test
    0='-';
run;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何编写语法来附加$符号和( )符号.

谢谢.

format sas

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

VBA-根据特定单元格中的值更改单元格的颜色

我想A2:C2根据单元格的值更改单元格的背景颜色D2.

这也适用于行3,4和5中的相对单元格.

如果单元格中的值D#是1,我想要颜色x.如果值为2,我想要颜色y,如果值为3,我想要颜色z.

如果它有所不同,目标range(A2:D6)将采用表格格式.

我想在打开工作簿时执行此子例程.我知道在哪里放这个子程序所以不要冒汗指示我如何.

我已经使用条件格式化完成了这项工作,但是有一些VBA可以将面板复制到未来的报告中.

excel vba excel-vba

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

Javascript:这个`Array(i + 1)`做什么?

嗨,我找到了解决代码问题的解决方案,我不确定语法的作用是什么.该函数接受一串字符,并根据长度以特定方式返回.

input ="abcd"; output ="A-Bb-Ccc-Dddd"input ="gFkLM"; 输出="G-Ff-Kkk-Llll-Mmmmm"

这家伙发布了这个解决方案

function accum(str) {
  var letters = str.split('');
  var result = [];
  for (var i = 0; i < letters.length; i++) {
    result.push(letters[i].toUpperCase() + Array(i + 1).join(letters[i].toLowerCase()));
  }
  return result.join('-');
}
Run Code Online (Sandbox Code Playgroud)

有点困惑整体解决方案,但有一点特别唠叨我.看到了Array(i + 1)吗?那是做什么的?对不起,google不是一件容易的事.

javascript

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

React Router V4 - 无法在 props 中获取 URL 参数

我正在尝试创建简单的 React-Redux-Router V4 应用程序。到我的组件之一的路由使用了 url 参数。在我的Route组件中,我一直在传递renderprop,它是一个返回组件的匿名函数。就像这样:

<Route key="post" path="/post/:id" render={() => <Post/>} />

我使用这个道具而不是道具component

<Route key="post" path="/post/:id" component={Post} />

因为我无法使用componentprop 将 props 添加到渲染的组件中。问题是,使用componentprop,您可以使用props.match.params.name,它将包含我需要的确切参数。使用该组件时此功能不可用render

可以用window.location.href,但是感觉很脏。

谢谢!

reactjs react-router react-router-v4

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

Javascript - 在这个函数中做什么!= -1

除了下面提到的行之外,我几乎理解所有这些代码

function hasEvent(event, entry) {
  return entry.events.indexOf(event) != -1; /*?????????*/
}

function tableFor(event, journal) {
  var table = [0, 0, 0, 0];
  for (var i = 0; i < journal.length; i++) {
    var entry = journal[i], index = 0;
    if (hasEvent(event, entry)) index += 1;
    if (entry.squirrel) index += 2;
    table[index] += 1;
  }
  return table;
}

console.log(tableFor("pizza", JOURNAL));
// ? [76, 9, 4, 1]
Run Code Online (Sandbox Code Playgroud)

JOURNAL是一个数组.此函数循环遍历它以查找是否有任何条目包含pizza的值,以及属性的值是什么squirrel.根据这两个检查的结果,将1添加到4个索引中的一个中table.我想我不理解hasEvent函数的作用,以及它如何与第一个if语句交互.

有关详细信息,可以在此页面的中间找到代码

http://eloquentjavascript.net/04_data.html

javascript

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