小编d3m*_*ing的帖子

ReactJs:PropTypes对于this.props.children应该是什么?

给出一个渲染其子代的简单组件:

class ContainerComponent extends Component {
  static propTypes = {
    children: PropTypes.object.isRequired,
  }

  render() {
    return (
      <div>
        {this.props.children}
      </div>
    );
  }
}

export default ContainerComponent;
Run Code Online (Sandbox Code Playgroud)

问题:儿童道具的propType应该是什么?

当我将其设置为对象时,当我使用具有多个子元素的组件时,它会失败:

<ContainerComponent>
  <div>1</div>
  <div>2</div>
</ContainerComponent>
Run Code Online (Sandbox Code Playgroud)

警告:失败的道具类型: 提供children的类型的无效道具,预期.arrayContainerComponentobject

如果我将它设置为一个数组,如果我只给它一个孩子,它将会失败,即:

<ContainerComponent>
  <div>1</div>
</ContainerComponent>
Run Code Online (Sandbox Code Playgroud)

警告:失败的道具类型:提供给ContainerComponent的类型对象的无效道具子项,预期数组.

请指教,如果我不打算对儿童元素进行propTypes检查?

jsx reactjs react-proptypes

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

如何使docker容器使用主机的/ etc/hosts文件?

我想这样做,以便我启动的docker容器使用与/etc/hosts我运行的主机上相同的设置.有没有办法做到这一点?

我知道--add-hostdocker run 有一个选项,但这并不是我想要的,因为主机的/etc/hosts文件在不同的机器上可能会有所不同,因此对我来说硬编码确切的IP /主机并不好--add-host.

docker

43
推荐指数
7
解决办法
5万
查看次数

Phpunit覆盖:'addUncoveredFilesFromWhitelist'和'processUncoveredFilesFromWhitelist'选项之间有什么区别?

我正在尝试为特定目录设置phpunit的代码覆盖率.有人能告诉我有什么区别:

<filter>
    <whitelist>
        <directory suffix=".php">lib/</directory>
    </whitelist>
</filter>
Run Code Online (Sandbox Code Playgroud)

<filter>
    <whitelist addUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">lib/</directory>
    </whitelist>
</filter>
Run Code Online (Sandbox Code Playgroud)

<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">lib/</directory>
    </whitelist>
</filter>
Run Code Online (Sandbox Code Playgroud)

目前前两个选项将起作用(具有不同的覆盖数)但第三个选项将失败,其错误类似于如何将未覆盖的文件添加到Yii应用程序的PHPUnit代码覆盖率报告中.

刚刚开始使用phpunit,并希望了解这些白名单选项之间的差异.我阅读了关于此的官方文档,但我不确定我理解.

php phpunit

21
推荐指数
2
解决办法
6879
查看次数

什么时候应该运行`react-native start`?

刚刚开始使用React-Native(针对非CRNA/Expo案例),在阅读本地反应文档了解CLI时,我不清楚它是否适合运行react-native start

react-native start --help简单地说starts the webserver.运行react-native run-ios也启动相同的服务器,除了它实际上也在模拟器中运行它.

问题:什么时候react-native start运行直接运行模拟器(即react-native run-ios)?

react-native

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

用于管理频繁发布的git-flow的替代方案

我想知道人们正在使用什么git分支/发布策略,并建议具有以下要求的项目:

  1. 频繁发布(每周发布列车)
  2. 能够随时进行热修复
  3. 相当复杂/大型项目,产品频繁更换

我们尝试过使用Git-flow流程(http://nvie.com/posts/a-successful-git-branching-model/),但有两个主要问题:

  1. 我们在发布分支期间的任何时候测试的代码与将要发布的代码不完全相同(因为发布分支需要在最后与master合并)
  2. 重构更改很难处理,并且当发布分支与master合并时通常会导致合并冲突.

是否还有其他git工作流程适合这种情况,或者其他人如何通过Git-flow克服这些问题?

git

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

如何在 CircleCI 上缓存“pip install”包?

有没有办法做到这一点?

例如,我目前总是在 circle.yml 文件中安装特定版本的 docker-compose 但我希望它已经通过缓存安装:

- sudo -H pip install -U docker-compose==1.3.3
Run Code Online (Sandbox Code Playgroud)

我尝试将以下内容添加到 中,circle.yml但它不起作用(安装后没有与 docker-compose 相关的任何内容保存在 .cache/pip 目录中):

 cache_directories:
    - /home/ubuntu/.cache/pip
Run Code Online (Sandbox Code Playgroud)

circleci

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

你可以将Phabricator/Arcanist配置为lint Java吗?

当我这样做时arc linters,目前没有Java linter的选项.有没有办法将Arcanist配置为lint Java代码?

phabricator arcanist

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

致命:为删除合并分支创建别名时.gitconfig文件中的错误配置文件行

任何人都可以帮我弄清楚.gitconfig文件中这行的错误吗?

[alias]
db = !git branch --merged | grep -v "\*" | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)

该命令本身有效,我正在关注这篇文章(如何删除已合并的所有git分支?)

但是,当我运行别名'git db'时,它将失败并出现'fatal:bad config file line 22',它指向我的.gitconfig文件中的那一行

git

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

如何在 YAML 密钥中写入多行?

是否可以将多行 yaml 作为关键?

这是我当前的多行 yaml:

|
line one
line two
Run Code Online (Sandbox Code Playgroud)

但是,当我将上述内容设为键时,这似乎不起作用,例如:

|
line one
line two:
  value
Run Code Online (Sandbox Code Playgroud)

我已经回顾了在 YAML 中,如何将一个字符串分成多行?但我认为它并没有完全解决我想要做的事情。有谁知道一个好的解决方案?

yaml

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

如何使用WebDriver处理页面导航时发生的警报?

这里的场景是我正在测试的某些页面将有一个卸载事件 - 即如果有未保存的更改则提示保存更改是一个常见示例,我希望能够检测并处理它.

这是具体问题:

我正在测试一个非常复杂的网络应用程序,它允许用户在浏览器中编辑丰富的内容,该应用程序将自动保存用户的更改.所以这个测试做了类似下面的事情:

  1. 导航到该应用
  2. 做一些编辑
  3. 导航

但是,由于应用程序在导航时自动保存更改并且有未保存的更改 - 此提示将显示:http://i.stack.imgur.com/c9iP2.png

每当Selenium中出现警报时,下一个动作将会失败,如下所示:

org.openqa.selenium.UnhandledAlertException: unexpected alert open
  (Session info: chrome=39.0.2171.65)
  (Driver info: chromedriver=2.11.298604 (75ea2fdb5c87f133a8e1b8da16f6091fb7d5321e),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 87 milliseconds: null
Build info: version: '2.43.1', revision: '5163bceef1bc36d43f3dc0b83c88998168a363a0', time: '2014-09-10 09:43:55'
System info: host: 'ip-10-231-174-40', ip: '10.231.174.40', os.name: 'Linux', os.arch: 'amd64', os.version: '3.11.0-19-generic', java.version: '1.7.0_51'
Session ID: 889cbda1d1a946a38e90e4ec9f32e827
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, hasMetadata=true, …
Run Code Online (Sandbox Code Playgroud)

selenium webdriver selenium-webdriver

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