小编Fak*_* 10的帖子

将for循环转换为concat String转换为lambda表达式

我有以下for循环,它遍历一个字符串列表并存储每个单词的第一个字符StringBuilder.我想知道如何将其转换为lambda表达式

StringBuilder chars = new StringBuilder();
for (String l : list) {
    chars.append(l.charAt(0));
}  
Run Code Online (Sandbox Code Playgroud)

java collections lambda java-8 java-stream

25
推荐指数
3
解决办法
4万
查看次数

如何使用 React-Window 输入传递给 Row 函数的索引和样式属性

我正在尝试输入传递给 Row 函数的以下两个参数。

//https://github.com/bvaughn/react-window

import * as React from "react";
import styled from "styled-components";
import { FixedSizeList as List } from "react-window";
import AutoSizer from "react-virtualized-auto-sizer";

const StyledSection = styled.section`
  width: 100vw;
  height: 100vh;
  background: #C0C0C0;
`;

const Row = ({ index, style }) => (
  <div className={index % 2 ? 'ListItemOdd' : 'ListItemEven'} style={style}>
    Row {index}
  </div>
);

const Scroller = () => {
  return (
    <StyledSection>
      <AutoSizer>
        {({ height, width }) => {
          return (
            <List height={height} width={width} …
Run Code Online (Sandbox Code Playgroud)

typescript react-window

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

为什么在类构造函数中使用setState方法时React会抛出错误?

我知道为尚未挂载的组件设置状态时会引发错误.这解释了我从使用setState函数得到的错误,而不是明确地直接设置状态.

import React, {Component} from 'react';

class SearchBar extends Component {

constructor(props) {
  super(props);

  this.state = {term: ''}; // -> seems to be the agreed means to set   initial state
// this.setState({term: ''}); // -> generates an error
}

render() {
  return (
    <div>
      <input onChange={event => this.setState({term:   event.target.value})}/>
      Value of the input: {this.state.term}
  </div>
);
  }
}
Run Code Online (Sandbox Code Playgroud)

我取消注释第二行this.setState({term:''})时得到的错误是:

警告:setState(...):只能更新已安装或安装的组件.这通常意味着您在已卸载的组件上调用了setState().这是一个无操作.请检查该组件的代码.

我知道如何防止错误,只需明确设置状态而不告诉React有关它的任何内容我已经看到github问题在讨论bug:Github问题#3878我想知道的是为什么不能反应出来?如果从构造函数中调用setState,它知道这是第一次使用它吗?我可能太简单了,但如果有人有一个很好的技术答案,为什么不呢?

javascript constructor state reactjs

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

如何在样式组件中使用联合选择器

我有看起来像这样的旧 CSS:

.btn_1 {
    color: #fff;
    background: #004dda;
    display: inline-block;
}
.btn_1:hover {
  background-color: #FFC107;
  color: #222 !important;
}
.btn_1.full-width {
  display: block;
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

我想迁移到在 React 中使用样式组件(CSS-in-JS 样式)。

到目前为止,这是我的迁移:

.btn_1 {
    color: #fff;
    background: #004dda;
    display: inline-block;
    :hover {
        background-color: #FFC107;
        color: #222 !important;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是在样式化组件中是否有针对选择器的解决方案,.btn_1.full-width或者我应该为此创建另一个 CSS 块?


我认为做这样的事情(或更好)会很酷:

.btn_1 {
    ${this}.full-width {
        display: block;
        width: 100%;
   }
}

Run Code Online (Sandbox Code Playgroud)

但我似乎无法在文档中找到解决方案。你知道这是怎么可能的,或者这甚至是一个好主意吗?

css reactjs styled-components

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

Scala函数采用地图,修改值并返回地图

我试图了解for与Scala相关的理解Maps.我有以下代码,我的意图是打破键值对,对值执行某些操作并返回修改后的值Map.我使用正确的功能还是应该使用其他功能?

val kvpair = Map("a" -> 1, "b" -> 2, "c" -> 3)

def multiplyValues(map: Map[Char, Int]) = {

          for {
              char <- map._1  
              value <- map._2 * 2
          } yield (char, value )
  }
Run Code Online (Sandbox Code Playgroud)

collections scala for-comprehension

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