小编Har*_*ria的帖子

如何定义传递的组件必须具有某些道具,但也允许额外的道具

我正在传递一个组件作为道具.

这定义如下.

export type TableProps<T> = {
  contents: T[],
  loadContents: () => Promise<T[]>
};
Run Code Online (Sandbox Code Playgroud)

这样工作正常,但我想更新这个定义说,至少应该存在道具,但允许额外的道具.

有没有我可以用来做这个的定义.例如,我想要一个具有以下签名的组件被接受.

type Props = {
  onChangeMark: (val: string) => void,
  ...TableProps<Attendance>
};
Run Code Online (Sandbox Code Playgroud)

我已经尝试将它们定义为界面,但它们仍然被拒绝.

interface TableProps<T> {
  contents: T[],
  loadContents: () => Promise<T[]>
};
Run Code Online (Sandbox Code Playgroud)

更新

我认为这说明了我有Link的问题

更新2

@Rajesh的解决方案似乎没有用,在这里尝试

javascript reactjs flowtype

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

为Python 3安装pip

当我输入python3 --version终端时,它显示了Python 3.6.0.

当我输入pip --version它显示

pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
Run Code Online (Sandbox Code Playgroud)

我如何得到它Python/2.7Python/3.6

python pip python-2.7 python-3.x macos-sierra

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

为什么这个JQuery代码给我一个未定义的?

$(document).ready(function () {
    var id;
    $('.dropdown-menu a').click(function () {
        id = $(this).text();
        $('#selected').text($(this).text());
    });
    console.log(id);
});
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码从下拉列表中获取选定的选项,然后将该变量用作我所有JS文件中的全局变量.但是,这给了我一个undefined控制台.如何id在所有JS文件中充当全局变量.?

javascript jquery twitter-bootstrap

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

JQuery - 为什么这段代码从外部URL加载图像不起作用?

function applyimage(str){
   console.log("in apply image function");
   var url = 'base_url' + str ;
   url = ' url("' + url + '") ';
   console.log(url);
   $('.jumbotron').css({
    "background-image" : "url",
    "background-size" : "cover",
    "height" : "100%",
 });
Run Code Online (Sandbox Code Playgroud)

当我将url登录到控制台时,它会显示正确的链接.但是这不起作用.

javascript css jquery twitter-bootstrap

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

为什么VLA size的memset在不同的C++版本上的工作方式不同?

我想在我的C++代码中使用memset.但是,代码在我的机器上意外地工作.

操作系统: - MacOS 10.12

G ++: - g ++ - 4.9(Homebrew GCC 4.9.4_1)4.9.4

#include <bits/stdc++.h>
#define ll long long
using namespace std;

int main(){
    int test;
    cin >> test;
    while(test--){
        int size = 1e5+10;
        int arr[size];
        memset(arr,0,sizeof(arr));
        int cnt = 0;
        for(ll i = 0; i < size; i++){
            if(arr[i]==0) cnt++;
        }
        cout << cnt << endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

命令1: -

g++ -std=c++14 file.cpp 然后 ./a.out

我得到了输出

96835

警告

file.cpp: In function 'int main()':
file.cpp:17:32: warning: taking …
Run Code Online (Sandbox Code Playgroud)

g++

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