小编Sim*_*ton的帖子

我应该如何在我的react组件+ Redux中构建onClick动作

我在Stack上经历了很多教程和问题,但我找不到解决方案.我刚学习React/redux,试图构建OnClick动作.我有以下错误"Maximum call stack size exceeded error".我得到了这个,因为我正在渲染一个无限改变我的状态的函数.我试图以<button onClick={DisplayTable(click)}>cool</button>不同的方式处理我,但似乎没有任何工作.我也知道我的动作,我猜我的减速器工作正常,因为当我通过控制台调度我的动作时:$r.store.dispatch({type: 'SET_TABLE_DATA'});我的状态正确更新.

有什么建议吗?

这是我的行动:

export const setTableFilter = (click) => {
  return {
    type: 'SET_TABLE_DATA',
    click : click,
  };
};
Run Code Online (Sandbox Code Playgroud)

这是我的减速机:

const tableFilter = (state = 0, action) => {
    if(action.type === 'SET_TABLE_DATA') {
        return state + 1;
    }
        return state;
  }
Run Code Online (Sandbox Code Playgroud)

这是我的组成部分:

const DisplayTable = (click) => {

        return (
        <div>
            <button onClick={DisplayTable(click)}>cool</button>
        </div> )
    }


function mapStateToProps(state) {
  return {
      click: state.tableFilter.click
  };
};


const mapDispachToProps …
Run Code Online (Sandbox Code Playgroud)

reactjs redux

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

使用 Jupyter Notebook Markdown 删除注释

是否可以使用 Jupyter Notebook Markdown 删除我的评论?

我尝试了很多选择:

~~Strike~~
~Strike~
<s>Strike</s>
<strike>Strike<strike>
...
Run Code Online (Sandbox Code Playgroud)

什么都不起作用。

jupyter-notebook

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

Google跟踪代码管理器中"点击类"和"点击元素"之间的差异

我真的不明白Google跟踪代码管理器中"点击类"和"点击元素"之间的区别.我不理解这些事件的预期用途,我不理解他们各自关于"包含"和"CSS选择器"的行为.

让我说我有class="buttons primary small".

什么工作:

Click Element -> Matches CSS selector -> .buttons.small 
Click Classes -> contains -> small 
Run Code Online (Sandbox Code Playgroud)

什么不起作用

Click Element -> contains -> .buttons.small 
Click Classes -> Matches CSS selector -> small 
Run Code Online (Sandbox Code Playgroud)

如果Click Classes是"一个对象类的数组",那么当进行这种操作时,GTM的"幕后"究竟会发生什么?

这不是我有一个真正的问题,只是试图正确理解.

css-selectors google-tag-manager

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

gtag 代码段中的参数变量是什么?

开放问题。查看全局网站标记 (gtag.js) 片段,我不太了解该arguments变量的用法。

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_TRACKING_ID');
</script>
Run Code Online (Sandbox Code Playgroud)

它到底是什么意思?dataLayer.push(arguments)这里有什么用呢?

谢谢!

javascript arguments gtag.js

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

如何使用 bindActionCreators 传递值?

到目前为止,我一直在处理两种mapDispatchToProps

一 :

function mapDispatchToProps(dispatch) {
  return {
    fetchgadata: bindActionCreators(fetchgadata, dispatch)
  };
}
Run Code Online (Sandbox Code Playgroud)

二 :

const mapDispatchToProps = (dispatch) => {
  return {
    onTimeChange: (e) => {dispatch (onSetTimeRange(e.target.value));},    
  };
};
Run Code Online (Sandbox Code Playgroud)

我想做的是使用e.target.valuewith bindActionCreators。那么mapDispatchToProps如果我想包含e.target.value在里面并将这个值传递给我的fetchgadata动作创建者,我应该如何重构上面的第一个?

我正在学习,所以我希望我的问题很清楚。如果没有,请帮助我改进它!谢谢。

reactjs react-redux

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

“pyarrow.lib.ArrowInvalid: Casting from timestamp[ns] to timestamp[ms] 将丢失数据”当将数据发送到没有架构的 BigQuery 时

我正在编写一个向 BigQuery 发送数据帧的脚本:

load_job = bq_client.load_table_from_dataframe(
    df, '.'.join([PROJECT, DATASET, PROGRAMS_TABLE])
)

# Wait for the load job to complete
return load_job.result() 
Run Code Online (Sandbox Code Playgroud)

这工作正常,但前提是已经在 BigQuery 中定义了架构,或者我在脚本中定义了我的工作架构。如果未定义架构,则会出现以下错误:

Traceback (most recent call last): File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/client.py", line 1661, in load_table_from_dataframe dataframe.to_parquet(tmppath, compression=parquet_compression) File "/env/local/lib/python3.7/site-packages/pandas/core/frame.py", line 2237, in to_parquet **kwargs File "/env/local/lib/python3.7/site-packages/pandas/io/parquet.py", line 254, in to_parquet **kwargs File "/env/local/lib/python3.7/site-packages/pandas/io/parquet.py", line 117, in write **kwargs File "/env/local/lib/python3.7/site-packages/pyarrow/parquet.py", line 1270, in write_table writer.write_table(table, row_group_size=row_group_size) File "/env/local/lib/python3.7/site-packages/pyarrow/parquet.py", line 426, in write_table self.writer.write_table(table, row_group_size=row_group_size) File "pyarrow/_parquet.pyx", line 1311, in pyarrow._parquet.ParquetWriter.write_table …
Run Code Online (Sandbox Code Playgroud)

python-3.x google-bigquery google-cloud-functions pyarrow

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

我应该如何使用"redux-thunk"进行异步初始状态?(反应/终极版)

这个问题已经被问了几次,但是我并没有真正理解我找到的答案.使用React/Redux,我试图通过express将异步数据放入我的初始状态.因为我习惯了d3,我的一个选择是使用"d3.json"...但如果它更好的话,我会很乐意使用别的东西.从以前对同一主题的回答中,我添加了以下代码:

// redux action using a dispatcher (think middleware)
export function cool(url) {
    return function(dispatch) {
        return d3.json(url, response => {
            dispatch(setData(response))
        }
    }
}

// redux action
export function setData(data) {
 return {
        type: 'DATA_CHART_ALL',
        data
    }
}

const authorDataReducer = (state = {}, action) => {
    switch (action.type) {
      case 'DATA_CHART_ALL':
        return action.data
      case 'DATA_CHART_FILTER':
        return action.data
      default:
        return state;
    }
};

export authorDataReducer;
Run Code Online (Sandbox Code Playgroud)

起初我没有注意到它,但是从我最近理解的情况来看,上面的代码或多或少地遵循了这种redux-thunk模式......所以从那里我尝试应用redux-thunk但我无法做任何工作......

不确定我的问题是否清楚,能帮助减轻这一切是很好的.

谢谢.

reactjs redux redux-thunk

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

如何在 pytesseract 中使用经过训练的数据?

使用这个工具http://trainyourtesseract.com/我希望能够在 pytesseract 中使用新字体。该工具给了我一个名为 *.traineddata 的文件

现在我正在使用这个简单的脚本:

try:
    import Image
except ImportError:
    from PIL import Image
import pytesseract as tes

results = tes.image_to_string(Image.open('./test.jpg'),boxes=True)
file = open('parsing.text','a')
file.write(results)
print(results)
Run Code Online (Sandbox Code Playgroud)

如何使用我的训练数据文件,以便我能够使用 python 脚本读取新字体?

谢谢 !

编辑#1 :所以我知道*.traineddata可以与 Tesseract 一起用作命令行程序。所以我的问题还是一样,我如何在 python 中使用traineddata?

编辑#2:我的问题的答案在这里如何从 Python 访问 Tesseract 的命令行?

ocr tesseract python-tesseract

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

如何避免和/或清除 BigQuery 中的重复行?

当我有潜在的重复行时,我应该如何每天在 BigQuery 中导入数据?

这是一些背景信息。我每天都会将数据从电子表格更新到 BigQuery。我正在使用 Google App Script 和简单的 WRITE_APPEND 方法。

有时我会导入前一天已经导入的数据。所以我想知道如何避免这种情况?

我可以构建一个 SQL 查询来每天清除表中的重复行吗?或者,即使在导入它们之前也可以检测到重复项(例如,使用我的作业定义中的某些特定命令......)?

谢谢 !

google-bigquery

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

conn_id 未定义

我正在学习 Airflow,并试图了解连接是如何工作的。

我有一个带有以下代码的第一个 dag:

c = Connection(
    conn_id='aws_credentials',
    conn_type='Amazon Web Services',
    login='xxxxxxxx',
    password='xxxxxxxxx'
)


def list_keys():
    hook = S3Hook(aws_conn_id=c.conn_id)
    logging.info(f"Listing Keys from {bucket}/{prefix}")
    keys = hook.list_keys(bucket, prefix=prefix)
    for key in keys:
        logging.info(f"- s3://{bucket}/{key}")
Run Code Online (Sandbox Code Playgroud)

在这种情况下它工作正常。连接已顺利传递至 S3Hook。

然后我有第二个DAG:

redshift_connection = Connection(
    conn_id='redshift',
    conn_type='postgres',
    login='duser',
    password='xxxxxxxxxx',
    host='xxxxxxxx.us-west-2.redshift.amazonaws.com',
    port=5439,
    schema='db'
)

aws_connection = Connection(
    conn_id='aws_credentials',
    conn_type='Amazon Web Services',
    login='xxxxxxxxx',
    password='xxxxxxxx'
)

def load_data_to_redshift(*args, **kwargs):
    aws_hook = AwsHook(aws_connection.conn_id)
    credentials = aws_hook.get_credentials()
    redshift_hook = PostgresHook(redshift_connection.conn_id)
    sql_stmnt = sql_statements.COPY_STATIONS_SQL.format(aws_connection.login, aws_connection.password)
    redshift_hook.run(sql_stmnt)

dag = DAG(
    's3_to_Redshift',
    start_date=datetime.datetime.now()
    ) …
Run Code Online (Sandbox Code Playgroud)

airflow

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