我想创建一个带有渲染方法的 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) 我有一个反应组件,它呈现过去发生的"会议"列表.
我试图让它对每次过去的会议进行排序,以便最近发生的那些会在最高层.
我正在检查会议是否发生在过去,如果是,请显示它.(这很好)
这是我的渲染方法:
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,但也没有多少运气.
这可以用_ ??? 或任何其他方式?
我有这个函数,在列表中找到偶数,并返回一个只包含这些数字的新列表:
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)
这是否已经优化了尾调用?或者每个子句都必须在最后调用自己("偶数"函数的第二个版本不是)?如果没有,如何重构为尾调用递归?
我知道这可以通过过滤器或减少来完成,但我想尝试没有它.
我正在尝试使用1个功能进行简单的线性回归.这是一个简单的'预测薪水给多年经验'的问题.NN训练多年经验(X)和薪水(Y).由于某种原因,损失正在爆炸并最终返回inf或nan
这是我的代码:
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) 您好,我正在尝试将两个图与 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')并将其中两个并排放置
javascript ×2
reactjs ×2
dataframe ×1
elixir ×1
lodash ×1
matplotlib ×1
pandas ×1
python ×1
pytorch ×1
recursion ×1
regression ×1