小编Lie*_*ong的帖子

ReactJS:当子组件调用parent时,"this.props"不是函数

我编写了这段代码,目前正在与onClick事件中的一个bug争论.我有两个事件,子元素上的onClick事件和顶级父元素上的onChange事件.

预期的行为应该是更改当前在Container组件中保存的activeAccount变量.为此,我在AccountRow组件上添加了一个onClick处理程序,然后应该调用顶级父级的onChange函数.

但是,行

'this.props.onChange(this.props.account)',
Run Code Online (Sandbox Code Playgroud)

handleClick: function(e) {
        this.props.onChange(this.props.account);
    },    
Run Code Online (Sandbox Code Playgroud)

意味着使用参数'this.props.account'调用父函数,

给我这个错误:

Uncaught TypeError: this.props.onChange is not a function.
Run Code Online (Sandbox Code Playgroud)

我最初认为这是一个范围问题,但我补充说

{...this.props}
Run Code Online (Sandbox Code Playgroud)

在父容器组件中的每个子项和嵌套子项上.因此,所有道具都应该传播到AccountRow组件.然而,问题仍然存在.

    var ACCOUNTS = [
    {name: 'cash on hand'},
    {name: 'savings account'},
    {name: 'shared account'},
    {name: 'my second wallet'}
];

var TRANSACTIONS = [
    {date: '', name: 'Bananas', amount: 6, category: 'Groceries', account: 'cash on hand'},
    {date: '', name: 'Apples', amount: 2.50, category: 'Groceries', account: 'cash on hand'},
    {date: '', name: 'Cash withdrawal', amount: 250, account: 'savings account'}
]; …
Run Code Online (Sandbox Code Playgroud)

reactjs react-jsx

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

Google表格:如何使自定义函数的返回值溢出到一行?

我编写了一个返回简单数组的自定义函数.(这是在多张纸上进行简单的脏3D查找).这是代码,如果它有帮助:

function get3DCellValues(startSheet, endSheet, cell) {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sum = 0;
var cellValues = [];
for (var i = (startSheet); i < endSheet; i++ ) {
    var sheet = sheets[i];
    var val = sheet.getRange(cell).getValue();
    cellValues.push(val);
}
//Logger.log(cellValues);
return cellValues;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我返回cellValues时,值会向列溢出.但是我希望它能够在行中向右溢出.有办法吗?谢谢.

谷歌的指南有关于返回值的自定义函数的说法:

每个自定义函数都必须返回要显示的值,例如:

如果自定义函数返回值,则该值将显示在调用函数的单元格中.如果自定义函数返回二维数组值,则只要这些单元格为空,这些值就会溢出到相邻单元格中

但这似乎对我没有帮助.

javascript google-apps google-sheets google-apps-script

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

找不到满足 pyyaml&gt;=5.3 要求的版本,但 PyYAML 版本为 5.3.1

我正在使用SetupTools 构建我自己的包。在 INSTALL_REQUIRES 中setup.py我有以下依赖项:

...
INSTALL_REQUIRES = [
    'ray>=0.8.7',
    'pyyaml>=5.3',
]

setup(name=PACKAGE_NAME,
      version=VERSION,
      description=DESCRIPTION,
      long_description=LONG_DESCRIPTION,
      long_description_content_type=LONG_DESC_TYPE,
      author=AUTHOR,
      license=LICENSE,
      author_email=AUTHOR_EMAIL,
      url=URL,
      install_requires=INSTALL_REQUIRES,
      packages=find_packages()
      )

Run Code Online (Sandbox Code Playgroud)

当我运行时pip3 install -i https://test.pypi.org/simple/ r3po==0.0.6,出现以下错误:

ERROR: Could not find a version that satisfies the requirement pyyaml>=5.3 (from r3po==0.0.6) (from versions: 3.11)
ERROR: No matching distribution found for pyyaml>=5.3 (from r3po==0.0.6)
Run Code Online (Sandbox Code Playgroud)

然而,pip3 search pyyaml它告诉我 PyYAML 肯定存在:

PyYAML (5.3.1) - YAML parser and emitter for Python

并且pip3 install pyyaml(在 …

python setup.py pyyaml python-3.x

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

运行 GitLab CI/CD 管道时“无法找到包 git”

我正在尝试使用以下文件设置 GitLab CI/CD 管道.gitlab-ci.yml

stages:
  - test

image: "ros:foxy-ros-base-focal"

before_script:
  - apt-get -y update && apt-get install -y \
    git wget qt5-default \
    python3-osrf-pycommon \
    python3-catkin-tools \
    python3-rosdep \
    python3-vcstool \
    python3-pip \
    python3-colcon-common-extensions \
    apt-utils
  - rm -rf /var/lib/apt/lists/*
  - /bin/bash -c "source /opt/ros/${ROS_DISTRO}/setup.bash; colcon build"
  - echo "source /root/dev_ws/install/setup.bash" >> /opt/ros/${ROS_DISTRO}/setup.bash

test_a:
  stage: test
  script:
    - pip3 install pytest
    - python -m pytest test_utils.py -vv -s

Run Code Online (Sandbox Code Playgroud)

我从 ROS2 Foxy Base Focal Docker 镜像开始。然而,尽管运行了apt-get update,我仍然找不到许多软件包,包括 …

ros gitlab docker gitlab-ci

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

Scala Map 的 get vs apply 操作:“类型不匹配”

我正在学习 Scala 并发现以下内容:

List(('a', 1)).toMap get 'a'           // Option[Int] = Some(1)
(List(('a', 1)).toMap) apply 'a'       // Int = 1
(List(('a', 1)).toMap)('a')            // Error: type mismatch;
                                          found   : Char('a')
                                          required: <:<[(Char, Int),(?, ?)
                                          (List(('a', 1)).toMap)('a')
Run Code Online (Sandbox Code Playgroud)

但是然后将其分配给变量再次起作用。

val b = (List(('a', 1)).toMap)
b('a') // Int = 1
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

标准文档给出:

ms get k

与映射 ms 中的键 k 关联的值作为选项,如果未找到则为 None。

ms(k) (或,写出,ms apply k

与映射 ms 中的键 k 关联的值,如果未找到则为异常。

为什么第三行不起作用?

scala implicit syntactic-sugar

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