小编Gov*_*tla的帖子

跨文件的 useContext 导致循环依赖

我有两个组件“父组件”和“子组件”,我想将上下文从“父组件”导出到“子组件”,但这会导致循环依赖。

例如,考虑 Parent.js

import {Child} from './Child.js';

export const MyContext = React.createContext();

const Parent = () => {
    return <MyContext.Provider><Child /></MyContext.Provider>;
}

Run Code Online (Sandbox Code Playgroud)

和 Child.js 作为

import {MyContext} from 'Parent';

const Child = () => {
    const myContext = useContext(MyContext);
    return <>{myContext}</>;
}
Run Code Online (Sandbox Code Playgroud)

我可以将其作为道具传递,但如果有多层嵌套,那就很困难了。我能想到的一个可能的解决方案是使用另一个名为 的文件contexts.js,并从那里导出我的所有上下文。

有一个更好的方法吗?

javascript reactjs react-hooks use-context

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

如何访问django请求体中的多个值?

我想在 Django 网站中为一个属性选择多个值。

    if request.method == 'POST':
    print(request.POST)
    print(request.POST['category'])
Run Code Online (Sandbox Code Playgroud)

当我同时选择第二个和第三个类别时,上述代码的输出是 -

<QueryDict: {'csrfmiddlewaretoken': ['HYArlTZpPYIDX404ImuX4UjzC03qaa3zTa18Wd7hVw2AYaMln8ZaVfaJ8TsNtbZp'], 'category': ['2', '3']}>
3
Run Code Online (Sandbox Code Playgroud)

我无法理解我做错了什么。请帮帮我。

谢谢。

django

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

如何有效地对所有 Javascript 布尔值进行字符串化?

我正在尝试将 javascript 对象发送到仅接受 python 布尔值(真/假)并拒绝 javascript 布尔值(真/假)的 POST API。我想将 JS 对象中存在的所有布尔值转换为字符串(“true”/“false”)。

有没有一种有效的方法来做到这一点?

输入 -

const a = {
  b: {
    c: 1,
    d: true
  },
  e: true
}
Run Code Online (Sandbox Code Playgroud)

输出 -

const a = {
  b: {
    c: 1,
    d: "true"
  },
  e: "true"
}
Run Code Online (Sandbox Code Playgroud)

javascript javascript-objects

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

如何在 jupyter 笔记本中的选项卡式布局中延迟输出?

我想使用在 jupyter 笔记本中创建选项卡式布局ipywidgets。我想仅在单击特定选项卡时处理该选项卡的输出。换句话说,延迟输出。

from ipywidgets import widgets

out1 = widgets.Output()
with out1:
    get_output_1()

out2 = widgets.Output()
with out2:
    get_output_2()

out = widgets.Tab([out1, out2])
out.set_title(0, 'out1')
out.set_title(1, 'out2')

display(out)
Run Code Online (Sandbox Code Playgroud)

我希望仅在单击相应选项卡时才调用get_output_1()这些功能。get_output_2()

请帮帮我。

python jupyter-notebook ipywidgets

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

细胞景观的条件样式

我想为 cytoscape 元素(节点和边缘)添加条件样式。我阅读了 cytoscape 的条件样式,但这似乎在渲染图形后添加了样式条件,我认为当有很多条件时这不是很好。

        style: {
            "content": "data(label)",
            "shape": "round-rectangle",
            "width": "150px",
            "text-valign": "center",
            "background-color": "data(error)" ? "red" : "green"
        }
Run Code Online (Sandbox Code Playgroud)

我想根据 error 属性的值设置背景。这不起作用,因为“数据(错误)”是一个字符串。我试过了,"data(error)" === "true"但这也不起作用。你能帮我一下吗?

javascript cytoscape.js

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

如何使用 ipywidgets 创建一个工具按钮来显示和清除输出?

我想创建一个切换按钮来显示一些输出并在使用ipywidget.

我尝试使用widgets.Output(). 然而,随着我点击越来越多,这会显示空行。

请帮帮我。

import ipywidgets as w
toggle = w.ToggleButton(description='click me')

out = w.Output()

def fun(obj):
    global out
    with out:
        display('asd')
    if obj['new']:  
        display(out)
    else:
        out.clear_output()
        out = w.Output()

toggle.observe(fun, 'value')
display(toggle)

Run Code Online (Sandbox Code Playgroud)

python jupyter-notebook ipywidgets

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