小编pho*_*nix的帖子

git rebase和git merge --ff-only之间有区别吗?

根据我的阅读,它们都有助于我们获得线性历史.

根据我的实验,rebase一直在工作.但是merge -ff-only仅适用于可以快速转发的场景.

我也注意到,git merge创建了一个合并提交,但如果我们使用--ff-only,它会给出一个线性历史,它基本上等于git rebasing.所以--ff-only杀了git merge的目的,对吧?

那么它们之间的实际区别是什么?

git git-merge git-rebase

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

打字稿:如何在React中添加历史对象的类型检查?

我有以下代码,它接收一个历史对象作为prop:

const ChildComponent = ({ history }) => (
        <div className={styles.body}>
            <div className={styles.cta}>
                <FloatingActionButton onClick={() => history.push(routes[4].path)}>
                    <span>Click me</span>
                </FloatingActionButton>
            </div>
        </div>
);
Run Code Online (Sandbox Code Playgroud)

如何为此历史道具添加类型检查,通过使用withRouter HOC包装它的父级来获得?我能想到的一种方法是写下这样的东西:

interface Props {
    history: {
        push(url: string): void;
    };
}
Run Code Online (Sandbox Code Playgroud)

但我确定这不是正确的方法,因为历史对象的其他属性正在丢失.

你能建议正确的方法吗?

根据@ Oblosys的回答更新了代码

import { withRouter, RouteComponentProps } from "react-router-dom";

interface Props extends RouteComponentProps<any> {
   /* Parent component's props*/
}

class Parent extends React.Component<Props, {}> {
    render() {
        return <ChildComponent history={this.props.history} />;
    }
}

//Child component related stuff
interface ChildComponentProps extends RouteComponentProps<any> …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs typescript-typings

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

如何通过clickHandlers导航?

我刚刚开始学习React,我陷入了以下场景.

有一个输入字段,点击搜索按钮,它获取输入值并重定向到/ search/search-query/some-action

我已设置路径,将路径定义为正确的视图.并且,我能够使用href链接来实现此路径.但我的实际要求是有一个按钮,并通过onClick处理程序将用户带到此路径.

搜索了很多,发现了多个(模糊的)解决方案,例如react-navigate-mixin等.但我找不到任何关于其用法的文档.

谁能指出我正确的方向?

javascript reactjs

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

是否可以在window.onPopState中进行e.preventDefault?

我试图阻止用户回到我的网络应用程序.为此,我尝试捕获window.onpopstate并添加e.preventDefault以取消后退按钮效果.

但它似乎没有发生.

window.addEventListener('popstate',function(e){ 
console.log(e); e.preventDefault();  
});
Run Code Online (Sandbox Code Playgroud)

是否无法阻止浏览器的popstate事件?或者我做错了什么?

javascript back-button javascript-events popstate

14
推荐指数
2
解决办法
8683
查看次数

Google日历API时间格式

我正在使用Google日历的API资源管理器,并设法从我的日历中获取事件列表.我设法从API资源管理器中将一些事件插入到日历中.但我与时间财产混淆.

当我从资源管理器插入一个事件时,我希望活动时间是从09:30到10:30.所以我提出如下:

{
 "end": {
  "dateTime": "2012-07-12T10:30:00.0z"
 },
 "start": {
  "dateTime": "2012-07-12T09:30:00.0z"
 }
}
Run Code Online (Sandbox Code Playgroud)

插入成功.但是当我查看日历时,它显示该事件的时间为03:30-04:30.日期是正确的.知道我哪里错了吗?


当我使用资源管理器检索相同的事件时,我得到了这个:

"start": {
  "dateTime": "2012-07-11T03:30:00-06:00"
},
"end": {
  "dateTime": "2012-07-11T04:30:00-06:00"
}
Run Code Online (Sandbox Code Playgroud)

请注意现在的时间=> 03:30:00-06:00和04:30:00-06:00.那是什么-06:00?

google-calendar-api google-api datetime-format

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

TypeScript问题 - TypeError:无法读取未定义的属性'watchRun'

我试图将我的ReactJS应用程序的JSX文件逐个转换为TS.因此,我将同时运行JSX和TS文件.(因此在webpack中添加了两个规则,如下所示):

这是我处理jsx和ts文件的webpack配置的一部分:

module: {
        rules: [
            {
            test: /\.ts$/,
            exclude: /node_modules/,
            use: ["awesome-typescript-loader"]
        },
        {
            test: /\.(jsx?)$/,
            exclude: /node_modules/,
            use: ["babel-loader"]
        },
        ]
    }
Run Code Online (Sandbox Code Playgroud)

但是当我运行webpack时,我收到以下错误:

模块构建失败:TypeError:无法读取undefined的属性'watchRun'

使用的包:

"webpack": "^2.2.1"
"awesome-typescript-loader": "^5.0.0-1", 
"typescript": "^2.7.2",
"@types/react": "^16.0.40",
"@types/react-dom": "^15.5.7",
"babel-core": "^6.23.1",
"babel-loader": "^6.4.0",
Run Code Online (Sandbox Code Playgroud)

我在网上查了一下但无处可查找资源给出了关于这个watchRun问题的提示.

谢谢.

jsx typescript webpack typescript2.0

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

是否可以使用JS或jQuery为DIV编写onFocus/lostFocus处理程序?

我有一个div,当用户点击div时,应该调用一个函数.当用户点击其他内容(除此div之外的任何内容)时,应调用另一个函数.

所以基本上我需要有与此DIV相关的onFocus()和lostFocus()函数调用.它是用JavaScript还是jQuery提供的?

谢谢.

javascript jquery onfocus lost-focus

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

JEST 测试不理解导入语句

我使用 JEST 来测试我的应用程序。但是我从测试文件中得到一个错误——

import xyz from './XYZ.js';
    ^^^^^^
SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个 .babelrc 文件,它有以下代码——

{
  "presets": [
    "es2015"
  ]
}
Run Code Online (Sandbox Code Playgroud)

在此之后,我在测试文件中导入的任何文件都不会引发此错误。但是,如果导入的文件之一(如 XYZ.js)本身具有 import 语句,那么它会在该文件上给出相同的错误。

我的 package.json devDependencies(重要的包)——

"devDependencies": {
    "babel-jest": "^19.0.0",
    "babel-preset-es2015": "^6.22.0",
    "eslint": "2.0.0",
    "eslint-plugin-react": "latest",
    "express": "^4.12.2",
    "jest": "^19.0.1",
    "react": "^15.3.2",
    "react-dom": "^15.3.2",
    "react-router": "^2.8.1"
  },
Run Code Online (Sandbox Code Playgroud)

谁能指出我错过了什么?

javascript jestjs babeljs babel-jest

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

如何使用omniauth/oauth每秒对登录进行基准测试?(红宝石+ rspec的)

我想基准(自己的)omniauth提供程序每秒可以登录多少次登录.我需要了解这个omniauth/oauth请求的性能如何,以及这种身份验证是否可以扩展?

到目前为止我得到了什么:

    def performance_auth(user_count=10)
      bm = Benchmark.realtime do
        user_count.times do |n|
          fork do
            click_on 'Logout'
            omniauth_config_mock(:provider => "foo", :uid => n, :email => "foo#{n}@example.net")
            visit "/account/auth/foo/"
          end
        end
        Process.waitall
      end
      puts "#{user_count} users Benchmark: #{bm}"
      bm
  end
Run Code Online (Sandbox Code Playgroud)

默认值为10个通过oauth提供程序foo进行并行身份验证的用户.

结果:

only 2 users can authenticate parallel in 1 sec (is this possible?)

10 users: 5.090777 sec
20 users: 10.471208 sec
50 users: 111.565979 sec ~ 2min!!!!
Run Code Online (Sandbox Code Playgroud)

我真的不知道我在做什么,如果这个代码是对的.

ruby benchmarking scalability oauth omniauth

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

从webview中捕获本机后退按钮事件

我是网络视图的新手,并尝试使用它来做一个应用程序.我有一个使用javascript显示的弹出窗口.它有一个关闭按钮.除了关闭按钮,我想使用本机后退按钮.

也就是说,如果用户单击后退按钮,则应关闭我的弹出窗口.

我的疑问是,它是否需要本机应用程序的任何更改?或者webviews将后退按钮操作转换为webview可以理解的按键等事件?

javascript webview android-webview

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