【发布时间】:2021-02-26 09:02:00
【问题描述】:
我已经在 React App like so 中实现了 pyodide。
在上面链接示例中的src/App.js 中,假设我想从script.py 访问App() 中的someProperty。
const App = () => {
const [output, setOutput] = useState("(loading...)");
const [someProperty, setSomeProperty] = useState("Initial state"); // this one
const runScript = code => {
window.pyodide.loadPackage([]).then(() => {
...
在pyodide的正常情况下,我会使用import js从pythonlike in the docs访问javascript范围。
可以使用 js 模块从 Python 访问 JavaScript 范围(请参阅Using Javascript objects from Python)。这个模块代表全局对象窗口,它允许我们直接操作 DOM 并从 Python 访问全局变量和函数。
但是,该属性位于App() 内部,而不是直接位于window 之下。
如何从script.py 访问App() 内部的someProperty?
换句话说,App() 位于window 属性下的哪个位置?甚至可以全局访问App() 的属性吗?
【问题讨论】: