小编JAb*_*ams的帖子

反应 <a> 标签和按钮 onClick 传播

我想创建一个带有渲染方法的 React 组件,该方法具有一个<a>包装整个“盒子”的标签,如果你愿意,它会在单击时重定向到另一个页面。在所述框内有一个<button>可以点击激活改变状态的事件。我希望能够做的是单击<button>并触发事件,而不会<a>发生来自标记的重定向。

用 stopPropagation() 尝试了一些想法,但没有运气:/我也不想将按钮移到<a>标签之外,所以不知道从哪里开始。

看起来它应该很简单,但我就是想不通。谢谢!

渲染方法如下所示:

render(){
 return(
  <div>
   <a href="http://www.google.com"> 
    <div className="box">

     <h2 className="title">Random Title</h2>

     <button onClick={this.handleClick}> Like </button>

    </div>  
   </a>
  </div> 
 )
}
Run Code Online (Sandbox Code Playgroud)

handleClick() 看起来像这样:

handleClick = () => {
  if (this.state.liked) {
  console.log("disliking")
} else {
  console.log("liking")
}

this.setState({ liked: !this.state.liked})
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

按日期排序

我有一个反应组件,它呈现过去发生的"会议"列表.

我试图让它对每次过去的会议进行排序,以便最近发生的那些会在最高层.

我正在检查会议是否发生在过去,如果是,请显示它.(这很好)

这是我的渲染方法:

render(){
let past_meetings = this.store.meetings.map((meeting, i) => {
  if (meeting.scheduled_for < moment.utc( new Date() ).format()){
    return (<MeetingItem meeting={meeting} key={`meeting-${meeting.id}`} />)
  } else {
    return ;
  }
})

return(
  <div className="">
    <div className=""> 
      <h3 className="">Past Meetings</h3>
      <div className="" > 
        {past_meetings}
      </div>
    </div> 

  </div>
  )
 }
Run Code Online (Sandbox Code Playgroud)

目前会议显示为:如果它在过去发生得更远,则显示在顶部.

我的目标是让它显示如下:如果它最近发生,显示在顶部.

用lodash的.sortBy()尝试过类似的东西:

let sorted_meetings = _.sortBy(past_meetings, function(e){
return - (new Date(e.scheduled_for))
}
Run Code Online (Sandbox Code Playgroud)

没有成功.

meeting.scheduled_for
// returns 2017-03-03T03:33:00.000Z
Run Code Online (Sandbox Code Playgroud)

试图比较scheduled_for,但也没有多少运气.

这可以用_ ??? 或任何其他方式?

javascript lodash reactjs

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

Elixir尾调用递归函数

我有这个函数,在列表中找到偶数,并返回一个只包含这些数字的新列表:

  def even([]), do: []

  def even([head | tail]) when rem(head, 2) == 0 do
    [head | even(tail)]
  end

  def even([_head| tail]) do
    even(tail)
  end
Run Code Online (Sandbox Code Playgroud)

这是否已经优化了尾调用?或者每个子句都必须在最后调用自己("偶数"函数的第二个版本不是)?如果没有,如何重构为尾调用递归?

我知道这可以通过过滤器或减少来完成,但我想尝试没有它.

recursion elixir tail-call-optimization

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

Pytorch损失inf nan

我正在尝试使用1个功能进行简单的线性回归.这是一个简单的'预测薪水给多年经验'的问题.NN训练多年经验(X)和薪水(Y).由于某种原因,损失正在爆炸并最终返回infnan

这是我的代码:

import torch
import torch.nn as nn
import pandas as pd
import numpy as np

dataset = pd.read_csv('./salaries.csv')

x_temp = dataset.iloc[:, :-1].values
y_temp = dataset.iloc[:, 1:].values

X_train = torch.FloatTensor(x_temp)
Y_train = torch.FloatTensor(y_temp)

class Model(torch.nn.Module): 
    def __init__(self):
        super().__init__()
        self.linear = torch.nn.Linear(1,1)

    def forward(self, x):
        y_pred = self.linear(x)
        return y_pred

model = Model()

loss_func = torch.nn.MSELoss(size_average=False)
optim = torch.optim.SGD(model.parameters(), lr=0.01)

#training 
for epoch in range(200):
    #calculate y_pred
    y_pred = model(X_train)

    #calculate loss
    loss = loss_func(y_pred, Y_train)
    print(epoch, "{:.2f}".format(loss.data)) …
Run Code Online (Sandbox Code Playgroud)

regression pytorch

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

Matplotlib pyplot 将两个图并排放置

您好,我正在尝试将两个图与 plt 并排放置,并尝试了此处的建议:尝试将子图放置在彼此旁边

但是我正在使用 pandas 的默认功能进行绘制

myDataFrame.plot(kind='scatter' x='xcol', y='ycol') 
Run Code Online (Sandbox Code Playgroud)

所以我不能plt.subplot(2, 1, 2)这样做myDataFrame.subplot(2,1,2)(显然)

和做

plt.subplot(1, 2, 1)
myDataFrame.plot(kind='scatter' x='xcol', y='ycol') 

plt.subplot(1, 2, 2)
myDataFrame.plot(kind='scatter' x='xcol', y='ycol')
Run Code Online (Sandbox Code Playgroud)

只需在我想要的图之前添加两个图

有什么想法我仍然可以使用myDataframe.plot(kind='scatter')并将其中两个并排放置

python matplotlib dataframe pandas

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