小编Sel*_*nir的帖子

JQuery将元素赋给变量

例如:我想创建元素数组的快捷方式

var $artifacts = $('.game-artifact');
Run Code Online (Sandbox Code Playgroud)

但是atm没有任何具有这种类的元素.然后是一些代码,它们添加了元素.问题是,在我添加这些元素之后,变量$ artifacts仍然会引用它们,否则它将保持为空?如果是这样,我如何设法将函数的引用分配给变量?

variables jquery reference

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

使用 Webpack 访问 Sass 中的全局变量,无需多次导入

我正在使用带有 Sass 和 webpack 的 Bootstrap 4 使用 React 开发一个应用程序,每个 React 组件都有自己的 .scss 文件。

我遇到了一个问题,我需要使用 Bootstrap 的变量,但我无法导入 bootstrap,因为我最终多次导入了 Bootstrap(除了性能问题,重复导入不断覆盖我对 Bootstrap 规则的更改)

我的主要两个问题是:

  1. ComponentA样式表必须访问 Bootstrap 的变量和混合(即button-variant),以实现我必须@import在我的.scss文件中引导(否则我最终会undefined variable出错)。
  2. 添加@import '~bootstrap'到每个组件的样式表会导致多次导入整个 Bootstrap。因此,当我覆盖一个变量时,即$body-bg在我的global.scss包含共享样式的文件中,它只在第一次导入时使用我的值,这意味着每个成功的 Bootstrap 导入都不会获取我的变量,而是继续使用默认值覆盖它。

有没有什么方法可以处理这类问题?我的猜测是以某种方式启用“全局范围”,这样我就可以使用变量/混合而不连续导入整个 Bootstrap。

编辑:我找到了一种解决方法,当 Sass 文件从其他 Sass 文件导入时,变量是可以访问的,因此创建一个大import.scss文件而不是使用单独的.js文件导入似乎可行。

sass twitter-bootstrap reactjs webpack

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

在渲染中调用柯里化函数对性能有负面影响吗?

我读过,这是很好的做法,声明功能组件的方法,而不是在它内联的render,因为每次家长组件呈现它创造了新的功能,并打乱了与孩子的shouldComponentUpdate

即这个: <button onClick={this.handleClick} /> 比那个好:<button onClick={e => someAction(e)} />

但是柯里化函数呢?以下是否被视为创建新功能?

class Parent extends Component {
  handleClick = data => event => someAction(data);

  render() {
    const data = 123;
    return <button onClick={this.handleClick(data)} />;
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道那里的“性能影响”可能不明显,但我发现在传递组件树的同时部分应用函数参数非常方便,我想知道这是否违反了最佳实践。

javascript functional-programming reactjs

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

将列表的Observable转换为Observable列表并在RxJava中合并

我正在通过创建Hacker News阅读器应用程序来使用Android学习Java。

我想做的是:

  1. 请求完成/topstoriesObservable<List<int>>,向发送请求,返回,发出。
  2. 将每个映射storyIdObservable<Story>
  3. List<Story>当所有请求完成时,将Observables合并为一个实体,该实体发出。

和代码:

  private Observable<Story> getStoryById(int articleId) {
    BehaviorSubject<Story> subject = BehaviorSubject.create();
    // calls subject.onNext on success
    JsonObjectRequest request = createStoryRequest(articleId, subject);
    requestQueue.add(request);
    return subject;
  }

  public Observable<ArrayList<Story>> getTopStories(int amount) {
    Observable<ArrayList<Integer>> topStoryIds = (storyIdCache == null)
      ? fetchTopIds()
      : Observable.just(storyIdCache);

    return topStoryIds
      .flatMap(id -> getStoryById(id))
      // some magic here
  }
Run Code Online (Sandbox Code Playgroud)

然后,我们将这样使用:

getTopStories(20)
  .subscribe(stories -> ...)
Run Code Online (Sandbox Code Playgroud)

java android rx-java rx-java2

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