小编Som*_*Guy的帖子

ES7中的类装饰器

我一直在阅读JavaScript中的装饰器,并认为我已经获得了基本的前提.

装饰器是函数,它们接收它们应该装饰的一个或多个参数,并返回结果.

但我@withStyles在React Boiler Plate项目中找到了一个装饰实现,我不明白它是如何工作的.

import React, { Component, PropTypes } from 'react';

function withStyles(...styles) {
  return (BaseComponent) => class StyledComponent extends Component {
    static contextTypes = {
      insertCss: PropTypes.func.isRequired,
    };

    componentWillMount() {
      this.removeCss = this.context.insertCss.apply(undefined, styles);
    }

    componentWillUnmount() {
      this.removeCss();
    }

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

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

用例就是

import s from './MyComponentStyle.scss';

@withStyles(s)
class MyComponent extends Component {

}
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

decorator reactjs ecmascript-7

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

React"key"的有效符号是什么

反应关键支柱的有效符号是什么;

<div key="can i use spaces for example?"></div>
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我想使用URL作为关键

const links = [
    {
        label: 'foo label',
        href: 'https://example.com',
    },
    {
        label: 'bar label',
        href: 'https://example.com',
    }
]

links.map(
    link => (<a key={link.href} href={link.href}>{link.label}</a>)
);
Run Code Online (Sandbox Code Playgroud)

这有效吗?我以为我可以使用一些哈希函数来首先传递href,但如果任何字符保证在键值中有效,这是一个毫无意义的步骤.

我问的原因是我在文档中找不到任何使用非字母数字字符作为键的示例,并且还明确说明,如果您没有用作键的ID您正在渲染的对象可以hash some part of it to make a key.虽然这可能是因为你不应该使用非常长的密钥,并且应该首先散列内容以截断它的大小,但似乎整个文档隐含地说只应使用字母数字字符作为密钥.

reactjs

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

愚弄PHP文件,认为它在目录中是独一无二的

我正在开发一种我将拥有两个非常独特的组件的东西.

此刻的结构是
核心:
核心内部的东西
3prty:
第三方开发的东西

现在,我想要做的是让第三方开发的php脚本不要做类似的事情

scandir("../");
Run Code Online (Sandbox Code Playgroud)

要么

require "../core/anyfile.php";
Run Code Online (Sandbox Code Playgroud)

要么

file_get_contents("../core/SourceCode.php");
Run Code Online (Sandbox Code Playgroud)

反正有没有让这件事发生?任何帮助表示赞赏.提前致谢.

我正在运行Apache,它是我自己的服务器,因此我可以设置任何扩展等.解决方案必须适用于生产环境,并且我需要能够允许第三方脚本,因为它们可能是恶意的.

php security

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

你能在运行时检查一个对象是否符合 Flow 类型吗?

我有一个正在解析的 JSON 对象,我正在为输出编写测试,但我无法在运行时检查特定对象是否符合流类型。

const object = {/**/}

type SomeType = {
    foo: string,
    bar: bool,
    baz: Object,
}

describe('object', () => {
    describe('.subfield', () => {
        it('conforms to SomeType', () => {
            // Here I want to write an 'expect'
            // that checks if object.subfield
            // conforms to the SomeType flow type?
        })
    });
});
Run Code Online (Sandbox Code Playgroud)

有什么办法可以实现吗?

javascript unit-testing flowtype

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

如何在css中创建一个宽泛的元素?

我知道我可以使用填充顶部/底部制作一个尽可能宽的元素

#element {
  width: 40%;
  padding-top: 40%;
}
Run Code Online (Sandbox Code Playgroud)

上述工作的原因是,当给出padding-top/bottom一个百分比值时,它相对于父级的宽度而不是高度.

我怎么能做同样的事情,只是把它变得宽而不是反过来?

它需要响应,解决方案应该适用于所有主流浏览器,包括IE8 +

css

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

Java 通用参数扩展 A 或 B

在 Java 中,我们有泛型,并且可以指定泛型参数来扩展/实现某个类/接口。

class MyClass<T extends Number>
Run Code Online (Sandbox Code Playgroud)

还可以指定它必须实现多个接口

class MyClass<T extends Number & Comparable>
Run Code Online (Sandbox Code Playgroud)

我的问题是;如何指定泛型参数必须扩展两个类之一?

Class MyClass<T extends JComponent OR JFrame>
Run Code Online (Sandbox Code Playgroud)

我拥有的是一个Propery类,此时它看起来像这样。

public abstract class Property<T> {

    public abstract void set(JComponent component, T value);
    public abstract void set(JFrame component, T value);
    public abstract T get(JComponent component);
    public abstract T get(JFrame component);

    public static Property<Integer> HEIGHT = new Property<Integer>() {
        @Override
        public void set(JComponent component, Integer value) {
            component.setSize(component.getWidth(), value);
        }

        @Override
        public Integer get(JComponent component) {
            return component.getHeight(); …
Run Code Online (Sandbox Code Playgroud)

java generics

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

如何使GCC不生成.h.gch文件

使用GCC编译C代码,GCC自动生成.h.gch文件.

我怎么压制这个?

c gcc

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

在没有 xcode 的情况下编译 swift 模块/框架/库

写一个 Swift 框架,我想知道,我可以在不使用 Xcode 的情况下编译它。我用 -module 选项尝试了 'swift',但无论我做什么,'swift' 命令似乎都没有产生任何输出。带有 -parse-as-library 的“swiftc”给出了“未定义的符号 _main”错误

那么,如何在没有 Xcode 的情况下编译 swift 库?

xcode swift

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

警告:mysqli_real_connect():( HY000/2002):第1452行/private/tmp/wordpress/wp-includes/wp-db.php中没有此类文件或目录

我正在尝试运行PHPUnit来对WordPress插件进行单元测试,但标题中的错误仍然显示出来.

我使用WP-CLI来设置单元测试,但是当我尝试运行它时,WP-CLI也会抛出类似的错误.

我使用MAMP来运行数据库.

我将WP-CLI和PHPUnit设置为phars,在〜/ .bash-profile中设置别名,并使用OS X提供的默认"php"运行.更改此项,并使用最新的PHP版本运行WP-CLI和PHPUnit由MAMP提供的固定WP-CLI(它正在运行并连接到数据库就好了)但PHPUnit仍然抛出相同的错误.

我已经尝试编辑wp-config.php文件,并将主机设置为":/ path/to/mamp/mysql.socket","localhost:/path/to/mamp/mysql.socket"和"127.0.0.1" ",没有一个帮助.

我完全陷入困境,不知道下一步该尝试什么.

php mysql wordpress mysqli mysql-connect

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

Sed给出"sed:1:"tsunit.js":undefined label'sunit.js'"

短暂的任务,为什么这一行

sed -i '1s/^/#!\/usr\/bin\/env node\n/' tsunit.js;\
Run Code Online (Sandbox Code Playgroud)

给我这个错误

sed: 1: "tsunit.js": undefined label 'sunit.js'
Run Code Online (Sandbox Code Playgroud)

在Makefile中,如果相关的话.

我在Mac上.

bash makefile sed

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

在路由器上设置远程认证服务器

我正在寻找一种方法来设置一个可以在许多/大多数无线路由器上工作的外部认证服务器.或者,可选择的几种方式可以在不同的无线路由器上工作.它需要以编程方式完成,这意味着连接到路由器的计算机需要能够使用某些api来执行此操作.我不知道这是否可行,我试图在谷歌找到答案,但由于知识有限,我不确定我是否正在寻找合适的地方.

我正在努力实现的目标:我正在尝试创建一个允许人们在那里打开WIFI的应用程序,以便其他人可以借用它.

ide是:

借用wifis:使用应用程序创建一个帐户.登录应用程序.当您登录时,此应用程序会自动将您连接到附近的共享无线网络.只有拥有与应用程序有效的用户名 - 密码组合,才能访问共享wifi

分享你的wifi:从同一个应用程序,你进入一些菜单并按"分享这个wifi",不知何故,我需要这个配置当前连接的路由器使用外部认证服务器以及当前的WIFI密钥.因此,人们基本上可以使用他们的应用程序用户名 - 密码组合来登录此路由器.

任何帮助表示赞赏.

authentication router

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

没有用于初始化的匹配构造函数

我在StackOverflow上看过类似的问题,但似乎没有一个适用于我.

这是我的代码:


Option.cpp

#include "Option.h"

Option::Option(string valueName, string description, OptionType type){
    this->valueName = valueName;
    this->description = description;
    this->type = type;
};
Run Code Online (Sandbox Code Playgroud)


Option.h

#include <iostream>
using namespace std;

enum OptionType { FLAG, REQUIRED, NORMAL };
class Option {
    string valueName, description, value;
    OptionType type;
public:
    Option(string valueName, string description, OptionType type);
    void setValue(string value) {
        this->value = value;
    };
    string getValueName() {
        return this->valueName;
    };
    string getDescription() {
        return this->description;
    };
    OptionType getType() {
        return this->type;
    };
};
Run Code Online (Sandbox Code Playgroud)


Options.cpp

#include "Options.h" …
Run Code Online (Sandbox Code Playgroud)

c++

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

在[...]中出乎意料的'''

在课堂上,我在第22行得到了一个"意外的"[...],我可以为我的生活找不到原因.

错误在第22行

<?php
namespace oowp\post;

global $wpdb;

class PostObjectQueryBuilder extends QueryBuilder implements IExtendable {
    use Extendable;

    // WP Tables
    private $tablePosts;             //The table of Posts.
    private $tablePostmeta;          //The Meta Content (a.k.a. Custom Fields) table.
    private $tableComments;          //The Comments table.
    private $tableCommentmeta;       //The table contains additional comment information.
    private $tableTerms;             //The terms table contains the 'description' of Categories, Link Categories, Tags.
    private $tableTermTaxonomy;      //The term_taxonomy table describes the various taxonomies (classes of terms). Categories, Link Categories, and Tags are taxonomies.
    private …
Run Code Online (Sandbox Code Playgroud)

php

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