小编Mat*_*bst的帖子

Immutable.js Map set vs update

我想在我拥有的地图中的某个键上更改值.除了一个事实,即使用update会给我一个错误,如果我问更新不存在的关键,什么好处是有(如果有的话)使用updateset?我发现set它更加简洁/清洁.事实上,基于文档人们可以(盲目)认为,set实际上比更有效update,因为set没有执行getupdater功能.

javascript immutable.js

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

当我使用jquery.ajax对PHP脚本进行POST时,为什么整数成为字符串

我花了最后一小时试图弄明白这一点无济于事.有很多关于jQuery和ajax()的帖子,但我找不到一个处理我特定问题的帖子.

我的代码的基础知识:

在客户端:

var data = {"id": 1};
j.ajax({
  type: "POST",
  url: "postTestingResult.php",
  data: {'data': data},
  dataType: "json",
  success: ajaxSuccess,
  error: ajaxError
});
Run Code Online (Sandbox Code Playgroud)

在使用PHP的服务器上:

$data = $_POST['data'];
echo $data; //{"id": "1"}
Run Code Online (Sandbox Code Playgroud)

为什么整数值变成字符串?我该如何防止这种情况?我真的不想创建一个自定义函数来循环我的数据对象(实际上是非常复杂的)来转换所有的值.

非常感谢!

javascript php jquery json

6
推荐指数
2
解决办法
6381
查看次数

为什么在调用反射方法时通过引用传递变量不起作用?

我的函数prepare()具有以下定义:

私有函数prepare(&$ data,$ conditions = null,$ conditionsRequired = false)

当我测试它时,这个

  /**
  * @covers /data/DB_Service::prepare
  * @uses /inc/config
  */
  public function testNoExceptionIsRaisedForValidPrepareWithConditionsAndConditionsRequiredArguments() {
    $method = new ReflectionMethod('DB_Service', 'prepare');
    $method->setAccessible(TRUE);

    $dbs = new DB_Service(new Config(), array('admin', 'etl'));
    $data = array('message' => '', 'sql' => array('full_query' => ""));
    $method->invoke($dbs, $data, array('conditionKey' => 'conditionValue'), TRUE);
  }
Run Code Online (Sandbox Code Playgroud)

加注(并打破我的考验)

ReflectionException:方法DB_Service :: prepare()的调用失败

但是,这个

  /**
  * @covers /data/DB_Service::prepare
  * @uses /inc/config
  */
  public function testNoExceptionIsRaisedForValidPrepareWithConditionsAndConditionsRequiredArguments() {
    $method = new ReflectionMethod('DB_Service', 'prepare');
    $method->setAccessible(TRUE);

    $dbs = new DB_Service(new Config(), …
Run Code Online (Sandbox Code Playgroud)

php reflection phpunit pass-by-reference

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

将“ eslint:recommended”更改为警告

我在用

"extends": "eslint:recommended",
Run Code Online (Sandbox Code Playgroud)

在我的.eslintrc档案中。默认情况下,这些规则会使皮棉失效。我有办法将所有这些都更改为警告,而不必分别指定每个警告吗?因此,是否有办法更改扩展规则集的规则级别?

例如,我很想能够做类似的事情:

"extends": [
  ["eslint:recommended", 1]
],
Run Code Online (Sandbox Code Playgroud)

eslint

6
推荐指数
2
解决办法
1762
查看次数

在ES6中公开组件功能

我想实现以下功能https://facebook.github.io/react/tips/expose-component-functions.html,但我使用的是ES6语法

@controllable(['center', 'zoom', 'hoverKey', 'clickKey', 'selectedCountry'])
export default class ContactMapView extends Component {
    constructor(props) {
        super(props);
        this.initialFunc = this.initialFunc.bind(this);
    }
    initialFunc() { … }
Run Code Online (Sandbox Code Playgroud)

当我在父类中调用initialFunc时

componentDidMount() {
    MapStore.addChangeListener(this._onChange.bind(this));
    this.refs['mapView'].initialFunc();
};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: this.refs.mapView.initialFunc is not a function
Run Code Online (Sandbox Code Playgroud)

任何想法我怎么能运行我的子组件的功能?

javascript ecmascript-6 reactjs

6
推荐指数
0
解决办法
570
查看次数

如何为现有的 Lerna mono-repo 生成每个包的 package-lock.json

我们有一个现有的Lerna mono-repo,其结构如下:

/
  /packages
    /package1
    /package2
    /package3
    ...
Run Code Online (Sandbox Code Playgroud)

我们目前在我们的项目中使用 Yarn,实际上只有一个顶级yarn.lock文件,没有每个包,yarn.lock因为我们从未使用过工作区。

我们正在尝试切换到 npm,并希望package-lock.json为 mono-repo 中的每个包生成一个文件,而不仅仅是顶级。我们应该怎么做?运行npm run lerna bootstrap --hoist会创建一个顶级锁文件,但不包含任何"dev": true标签,也不包含任何本地包。我已经能够做的最好的是做npm run lerna add somePackage --scope=package1,这虽然somePackage已经存在package,导致package-lock.json被在单回购为每个包生成的文件除外package1。此外,生成的package-lock.json文件没有任何开发依赖项。

此外,我无法进入每个包并运行,npm install因为npm不知道我们在其他本地包所依赖的 mono-repo 中拥有的许多本地包。奇怪的是,即使在package-lock.json通过 .npm 从 npm 生成的文件中lerna add,这些文件也不包含对本地包的任何引用,只有外部包。

那么:如何为package-lock.json还包含 devDependencies 的 mono-repo 中的每个包生成一个文件?

npm lerna monorepo package-lock.json

6
推荐指数
0
解决办法
1659
查看次数

如何将spring会话保留到自定义后端数据存储中

我有一个Spring MVC Web应用程序,我有一些我已经注释过的java类,@Scope("session")目前在tomcat上运行它.使用范围注释的类存储用户信息,在服务器崩溃时我不想丢失这些信息.那么如何@Scope("session")将会话与所有流信息以及存储在bean中的用户数据一起保存到外部数据库(自定义noSQL DB)中,这样当服务器崩溃时,用户将无缝地转移到另一个服务器和所有数据和信息以及bean从外部数据库恢复到新服务器,用户甚至没有注意到任何内容.我不想使用tomcat持久性,我也不想使用Redis.

java session spring spring-bean spring-session

5
推荐指数
0
解决办法
906
查看次数

如何注入React Component道具?

我知道将道具注入组件的唯一方法是通过像这样的父组件

render() {
  return <Child ...this.someProps />
}
Run Code Online (Sandbox Code Playgroud)

如何Child通过类似的函数动态地向组件注入更多道具

inject(someProps, Child)
Run Code Online (Sandbox Code Playgroud)

类似于redux-react的connect(mapStateToProps, mapDispatchToProps)(Child)工作原理

reactjs

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

为什么不能在bash 4.1.2中访问带破折号的环境变量?

在CentOS 5主机上(使用bash 3.2.32),我们使用Ruby(1.8.7)来实现

ENV['AWS_foo-bar_ACCESS_KEY'] = xxxxx
Run Code Online (Sandbox Code Playgroud)

然后,使用bash,我们运行一个shell脚本:

BUCKET_NAME=$1
AWS_ACCESS_KEY_ID_VAR="AWS_${BUCKET_NAME}_ACCESS_KEY_ID"
AWS_ACCESS_KEY_ID="${!AWS_ACCESS_KEY_ID_VAR}"
export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
Run Code Online (Sandbox Code Playgroud)

这在CentOS 5上运行良好.

但是,在CentOS 6上(使用bash 4.1.2),我们得到了错误

-bash: export: `AWS_foo-bar_ACCESS_KEY_ID=xxxxx': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

我们的理解是,这失败了,因为-变量名中不允许这样做.但是为什么这个工作在bash 3.2而不是bash 4.1?

bash shell centos

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

在 Firefox 中打印 iframe 时如何打开打印预览对话框?

与几乎所有其他主要浏览器不同,在 Firefox 中,window.print打开打印对话框而不是打印预览对话框。Firefox 开发人员很久以前就意识到了这个问题,他们决定实施一个不同的、仅限 Firefox 的功能browser.tabs.printPreview,为当前活动选项卡打开打印预览对话框,而不是“修复”它。

我正在打印一个隐藏的 iframe,理想情况下希望显示打印预览对话框,而不是打印对话框。对我来说,使用 detect 很容易browser.tabs.printPreview,但是,我还没有找到一种方法让它在 iframe 而不是当前选项卡上起作用。

有没有办法在 Firefox 中打开 iframe 的打印预览对话框,使用browser.tabs.printPreview或其他方法?

澄清:这是我维护的一个 React 库react-to-print,它用我们的组件包装用户的 JSX。除了组件包装的内容(用户想要打印的内容)之外,我对页面上的内容没有任何控制权。

javascript printing iframe firefox print-preview

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