小编Dan*_*ori的帖子

在Javascript中同时映射和过滤数组

我有一个对象数组,我想迭代生成一个新的过滤数组.但是,我还需要根据参数从新数组中过滤掉一些对象.我正在尝试这个:

function renderOptions(options) {
    return options.map(function (option) {
        if (!option.assigned) {
            return (someNewObject);
        }
    });   
}
Run Code Online (Sandbox Code Playgroud)

这是一个好方法吗?有更好的方法吗?我愿意使用任何库,如lodash.

javascript arrays

111
推荐指数
9
解决办法
7万
查看次数

React - 如何仅捕获父级的onClick事件而不是子级

我有一个像这样的反应组件的一部分:

var headerElement = someBoolean ? <input/> : 'some string';
return <th onClick={this._onHeaderClick}>{headerElement}</th>;
Run Code Online (Sandbox Code Playgroud)

以及第th个元素的单击处理程序:

_onHeaderClick(event) {
    event.preventDefault();
    console.log(event.target);
},
Run Code Online (Sandbox Code Playgroud)

我想捕获de th元素.当headerElement是'some string'时它工作正常,但是当它是一个输入元素时,input元素是event.target字段中引用的元素.实现这一目标的最佳方法是什么?

javascript dom reactjs

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

React - 如何将props传递给作为prop传递的组件

我有一个React组件(React v15.5.4),您可以将其他组件传递给:

class CustomForm extends React.Component {
  ...
  render() {
    return (
      <div>
          {this.props.component}
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我有一个使用它的不同组件:

class SomeContainer extends React.Component {
  ...
  render() {
    let someObjectVariable = {someProperty: 'someValue'};
    return (
      <CustomForm 
         component={<SomeInnerComponent someProp={'someInnerComponentOwnProp'}/>}
         object={someObjectVariable}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

一切都很好,但我想将someObjectVariable prop 传递给CustomForm中的子组件(在这种情况下,它将是SomeInnerComponent),因为在实际代码中你可以传递几个组件而不是像示例一样.

请注意,我还需要传递SomeInnerComponent自己的道具.

有没有办法做到这一点?

javascript reactjs

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

为什么我不能将一个动作重定向到Struts2中的另一个动作?

我正在使用Struts2.我有一个对话框,其中包含通过"search_users"操作更新的人员列表.在此列表旁边,我有一个表单,您可以在提交表单时通过调用"add_user"操作来添加另一个人.

我要做的是,一旦执行了add_user操作,就会使用"search_user"操作更新列表.

我尝试在struts.xml中使用结果类型"redirect",如下所示:

<action name="search_users" class="org.apache.struts.gestion_edt.controller.adm_proyectos.BLSubequipo" method="searchUsers">
            <result name="success">list.jsp</result>
        </action>

        <action name="add_user" class="org.apache.struts.gestion_edt.controller.adm_proyectos.BLTipoEntregable" method="addUser">
            <result name="success" type="redirectAction">search_users</result>
        </action>
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我究竟做错了什么?有什么东西我应该添加到我不知道的struts.xml文件中吗?

这是我得到的错误消息:

"Caused by: There is no result type defined for type 'redirect-action' mapped with name 'success'.  Did you mean 'redirectAction'? - result - file:/.../struts.xml:59:44
    at ..."
Run Code Online (Sandbox Code Playgroud)

java struts2

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

如果2个不同的prop更改具有相同的值,则不会调用componentWillReceiveProps

我有一个需要在其WillReceiveProps状态下进行计算的react组件.这就是组件的样子:

import React from 'react'
import {connect} from 'react-redux'
import Message from './Message.react'

class MessageContainer extends React.Component {

  constructor() {
    super();

    this.state = {show: false, message: null}
  }

  componentWillReceiveProps(nextProps, nextState) {
    if (nextProps.message) {
      this.setState({show: true});
      setTimeout(
        () => {
          this.setState({show: false})
        },
        5000);
    }
  }

  render() {
    let message = this.props.message;

    return (message ? <Message message={message} show={this.state.show}/> : null)
  }
}

const mapStateToProps = (state,ownProps) => {
  return {
    message: state.message
  }
};

export default connect(mapStateToProps, {})(MessageContainer);
Run Code Online (Sandbox Code Playgroud)

我们的想法是,如果一个名为'message'的String prop更改,那么我们应该显示该组件,5秒后我们应该隐藏它. …

reactjs react-redux

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

如何从未格式化的String获取公共RSA密钥

我在属性文件中有一个未格式化的公钥,这意味着它只包含公钥hexa值:

K_PUB_CCE =  3082010902820100A515281FAC9ABAA8E966DC1B6EC0F1C431674B4E7BCB718955A34211D5CC6BA53F2C93F67C030A970D4E41341949E6BC3F9336287EEA21702FE663C83D4BAFEE2AAA2EEE7A6AFDC423A159D420E42ABDE2792080249C5D6E25367F804333665CAFB79FD5A59D70B9F69159F4EDAD2DA4B434F41D0EC5217808E7D91FF547C83774E4BDE813302E16377156E52CAF02D1E68371D536AA0E7E32DE484FF4863538DCBC69E8D3E3C1F3CECEA9861DA5516A06D3208F6363B86CF66641BE18C4F41ABD7F1B5CDC9BD964914515DDC58F32F49437BD7E89431C8F484BBCEBA86A5FFF74E01D12E6D1D7EBBF6E5DCD7A9134BF27185F4BD347B23007FF366C0009E14F0203010001
Run Code Online (Sandbox Code Playgroud)

如你所见,它的长度为538六进制.我想要实现的是获取具有此值的java.security.PublicKey.

但是当使用这种方法时:

private PublicKey createPublicKey(String stringPublicKey) throws NoSuchAlgorithmException, InvalidKeySpecException {
    byte[] bytesKey= Hex.decodeHex(stringPublicKey.toCharArray());
    X509EncodedKeySpec encodedKeySpec = new X509EncodedKeySpec(bytesKey);
    KeyFactory keyFactory = KeyFactory.getInstance("RSA");
    return  keyFactory.generatePublic(encodedKeySpec);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

java.security.InvalidKeyException: IOException: algid parse error, not a sequence
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我应该使用其他任何关键规范类吗?

java rsa

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

如何从 Windows 命令行向 node.js 传递参数

我正在使用一个可以从 Mac 机器像这样启动的节点应用程序:

DEBUG=app.* ENVIRONMENT=local node server/index.js
Run Code Online (Sandbox Code Playgroud)

但是,当尝试在 Windows 命令行中运行该脚本时,我收到以下消息:

" 'DEBUG' is not recognized as an internal or external command, operable program or batch file."
Run Code Online (Sandbox Code Playgroud)

在没有参数的情况下运行脚本时,我没有收到任何错误。

如何将上述参数从 Windows 传递给我的 index.js?

windows node.js

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

标签 统计

javascript ×3

reactjs ×3

java ×2

arrays ×1

dom ×1

node.js ×1

react-redux ×1

rsa ×1

struts2 ×1

windows ×1