小编Eth*_*alm的帖子

React 在渲染方法中执行深比较还是浅比较?

反应文件说

React.PureComponent 的 shouldComponentUpdate() 只是对对象进行浅层比较。

这是否意味着 Component 将进行深度比较,除非我们将其设为 PureComponent ?

reactjs

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

如何更改使用React Native创建的Android应用程序中的占位符颜色

我正在使用React Native创建一个Android应用程序,其中有一个表单.占位符甚至没有出现在textInput字段中,所以我想改变占位符颜色,但我不知道如何做到这一点.文档中提到了一些我不理解的方法.

这是代码:

  <TextInput
  secureTextEntry={secureTextEntry}
  style={inputStyle}
  placeholder={placeholder}
  value={value}
  onChangeText={onChangeText}
  />

  inputStyle: {
  color: '#000',
  paddingRight: 5,
  paddingLeft: 5,
  fontSize: 18,
  lineHeight: 23,
  flex: 2,
  }
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

  <TextInput
  placeholderTextColor="blue"
  style={inputStyle}
  placeholder={placeholder}
  value={value}
  onChangeText={onChangeText}
  />
Run Code Online (Sandbox Code Playgroud)

  inputStyle: {
  color: '#000',
  paddingRight: 5,
  paddingLeft: 5,
  fontSize: 18,
  lineHeight: 23,
  flex: 2,
  placeholderTextColor: '#333'
  }
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android

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

如何更改 Material UI 表中排序图标的样式?

我想让材质表中的排序图标即使在隐藏时也能略微可见。当前图标的不透明度在未选中/不可见时为 0。但我想将其更改为 0.4,以便它们略微可见,并且在选择时不透明度将为 1,因此它们将完全可见。由于图标是 tableHead 的一部分,我无权访问图标的父级,因此我不知道如何覆盖样式。

这是我尝试过的代码:

https://codesandbox.io/s/kk7yqr8285?module=%2Fdemo.js

css reactjs material-ui

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

如何在Redux传奇中使用异步等待?

我正在尝试使用ES javascript API从Elastic Search获取数据并将其显示在我的React Redux Redux-Saga代码中。

function* getData() {
  const response = async () => await client.msearch({
     body: [
    // match all query, on all indices and types
    {},
    { query: { match_all: {} } },

    // query_string query, on index/mytype
    { index: 'myindex', type: 'mytype' },
    { query: { query_string: { query: '"Test 1"' } } },
  ],
  });

  yield put(Success({
    Data: response(),
  }));
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何让产量等待响应被解决。还有其他方法可以在redux saga和es javascript-client中使用Promise吗?

async-await elasticsearch ecmascript-6 redux-saga

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

使用 Javascript 更改 div 的显示样式属性

我试图通过更改 div 的样式属性来显示 btn 的 div onclick。但我无法读取该 div 的显示属性。我在某处读到代码不起作用,因为脚本试图在 div 加载之前获取值,因此应该在 window.onload 之后触发脚本。如何在窗口加载后但仅在单击按钮时使脚本工作?

<!DOCTYPE html>
<html>
<head>
<style type="text/css"> 
#hidden-div{
display: none;
}
</style>
<script type="text/javascript">
function showMe() {
   var foo = document.getElementById('hidden-div');
   alert(foo.style.display); //this gives a blank alert

   if(foo.style.display == ''){
    foo.style.display = 'block';
   }
   else {
    foo.style.display == 'none';
   } 
}
</script>
</head>
<body>
  <input type="button" id="btn-me" onclick="showMe()">+ clicking here should display the checkboxes</input><br>

  <div id="hidden-div">

  <input type="checkbox" id="check-1"> Check 1</input>
  <br>
  <input type="checkbox" id="check-2"> Check 2</input>
  <br> …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何从数组中选择数据并从中创建单个Object?

我想从一个对象数组中创建一个对象.请参阅提供的代码.

这是输入数组

let queryArr = [
  {
    query: {
        filter: {
          term: {
            search: 'complete',
          }
        }
    }
  },
  {
    query: {
        notFilter: {
          term: {
            search: 'failed',
          }
        }
    }
  },
  {
    query: {
      bool: {
          term: {
            search: 'complete',
          }
      }
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

预期的产出

let oneQuery = {query: {
      bool: { ... },
      filter: { ... },
      notFilter: { ... } // data from respective array object key
    }};
Run Code Online (Sandbox Code Playgroud)

我写的功能

function createQuery(arr){
  for(let i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

无法在函数内获取变量的值

编辑1:根据评论,我更改了代码.编辑2:我得到了代码的错误.我想知道我怎么能让它发挥作用?

我想创建一个通用函数来生成样式,如下所示.这是在ES6中.

const PADDING = [0, 1, 2, 3, 4];
const MARGIN = [0, 8, 16 ];


const generateStyle = (type) => {
  const styles = {};
  const upperCase = type.toUpperCase();

  upperCase.forEach((item) => {
    styles[`${type}-${item}`] = {
      [type]: `${item}px !important`,
    };
  });
  return styles;
};


generateStyle('padding');
Run Code Online (Sandbox Code Playgroud)

此代码提供以下错误:"TypeError:upperCase.forEach不是函数.当我记录大写时,其值为'PADDING'.

但是当我硬编码PADDING而不是大写时,它工作正常.

我究竟做错了什么?

如何使函数通用,以便我也可以使用generateStyle('margin').

javascript ecmascript-6

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