小编Nae*_*ael的帖子

无法读取未定义的属性"map"

我正在关注reactjs教程,并且在将值从一个组件的状态传递到另一个组件时,我一直遇到问题.当执行CommentList组件中的map函数时,抛出错误'无法读取属性'map'of undefined'.从CommentBox传递到CommentList时会导致prop变为undefined的原因是什么?

  var CommentList = React.createClass({
    render: function() {
      var commentNodes = this.props.data.map(function (comment){
        return (
          <div>
            <h1>{comment.author} </h1>
          </div>
        );
      });
      return (
        <div className="commentList">
          {commentNodes}
        </div>
      );
    }
  });

  var CommentBox = React.createClass({
    getInitialState: function(){
      return {data: []};
    },
    getComments: function(){
      $.ajax({
        url: this.props.url,
        dataType: 'json',
        success: function(data){
          this.setState({data: data});
        }.bind(this),
        error: function(xhr, status, err){
          console.error(url, status, err.toString());
        }.bind(this)
      });
    },
    componentWillMount: function(){
      this.getComments()
    },
    render: function(){
      return (
        <div className="commentBox">
          {/*this.state.data.comments*/}
          {<CommentList data={this.state.data.comments}/>}
        </div>
      );
    }
  }); …
Run Code Online (Sandbox Code Playgroud)

reactjs

49
推荐指数
5
解决办法
21万
查看次数

无法将类型'Task <Derived>'转换为'Task <Interface>'

我有一个委托参数的以下函数,该参数接受一个接口的类型并返回另一个接口的任务.

public void Bar(Func<IMessage, Task<IResult>> func)
{
    throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

我还有一个带参数的函数作为实例,IMessage并返回一个Task.MessageResult是的实现IMessageIResult分别.

private Task<Result> DoSomething(Message m) { return new Task<Result>(() => new Result()); }
Run Code Online (Sandbox Code Playgroud)

当我将DoSomething传递到Bar时,我收到错误.

Bar(m => DoSomething((Message)m));
// Cannot convert type 'Task<Result>' to 'Task<IResult>'
Run Code Online (Sandbox Code Playgroud)

为什么不会Result隐式转换成IResult

我认为这是协方差的一个问题.但是,在这种情况下,Result工具IResult.我还试图通过创建一个接口并标记TResult为协变来解决协方差问题.

public interface IFoo<TMessage, out TResult>
{
    void Bar(Func<TMessage, Task<TResult>> func);
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

方差无效:类型参数'TResult'必须是无效的IFoo<TMessage, TResult>.Bar(Func<TMessage, Task<TResult>>).'TResult'是协变的.

现在我被卡住了.我知道我有协方差的问题,但我不知道如何解决它.有任何想法吗?

编辑:此问题特定于任务.我async await在我的应用程序中实现了这个问题.我遇到了这个通用实现,并添加了一个Task …

c#

16
推荐指数
2
解决办法
2080
查看次数

ReactJS无效的校验和

尝试使用ReactJS和节点进行服务器端渲染时,我一直收到以下错误.

React attempted to use reuse markup in a container but the checksum was invalid.
Run Code Online (Sandbox Code Playgroud)

我已经看到一个答案,在服务器和客户端传递相同的道具解决了这个问题.在我的例子中,我没有任何道具,所以我不确定答案是否适用于我的问题.

您可以在我的github帐户上查看我的完整示例.

我在下面列出了重要的代码.非常感谢任何见解.

JSX

/** @jsx React.DOM */
var React = require('react');
var index = React.createClass({
    render: function() {
        return (
          <html>
          <head>
            <script src="bundle.js"></script>
          </head>
          <body>
            <div>
              hello
           </div>
          </body>
         </html>
     );
   }
});

if (typeof window !== "undefined") {
  React.renderComponent(<index/>, document.documentElement);
} else {
  module.exports = index;
}
Run Code Online (Sandbox Code Playgroud)

服务器

require('node-jsx').install();
var express = require('express'),
    app     = express(),
    React = …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

无头Chrome不会重定向

我们正在使用无头Chrome进行应用程序测试.我们有一个拒绝在无头模式下重定向的页面,但在不运行无头时重定向完全正常.响应头包含要重定向到的URL,并返回302状态代码.

在无头模式下运行时,Chrome会出现什么样的行为?是否有任何日志记录可以帮助我确定重定向无法按预期工作的原因?

编辑:找到更多信息.看起来我无法重定向到证书质量不佳的网站.ERR_CERT_AUTHORITY_INVALID在无头模式下运行Chrome时如何处理?

redirect google-chrome headless

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

无法在WF4中的Combobox中显示枚举

我试图在我的WF4项目中遵循这篇文章中的解决方案:将枚举属性数据绑定到WPF中的ComboBox

我已经实现了代码

<ObjectDataProvider MethodName="GetValues"
    ObjectType="{x:Type s:Enum}"
    x:Key="DayOfWeekValues">
    <ObjectDataProvider.MethodParameters>
        <x:Type TypeName="s:DayOfWeek" />
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

<ComboBox ItemsSource="{Binding Source={StaticResource DayOfWeekValues}}"/>
Run Code Online (Sandbox Code Playgroud)

我在TypeName ="s:DayOfWeek"属性上收到以下错误.

Cannot reparent the node "Type(System.DayOfWeek)" from the old parent "IList" to the new parent "ObjectDataProvider".
Run Code Online (Sandbox Code Playgroud)

有关此错误含义的任何想法?

编辑:除了上面的错误,我还在ObjectDataProvider上的MethodName ="GetValues"属性上收到以下错误.

INCORRECT_PARAMETER_TYPE
Run Code Online (Sandbox Code Playgroud)

wpf xaml

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

标签 统计

reactjs ×2

c# ×1

google-chrome ×1

headless ×1

redirect ×1

wpf ×1

xaml ×1