小编bra*_*per的帖子

如何渲染 JSX 元素数组(React 组件)

我正在尝试渲染一组命名的反应组件,例如<Foo /><Bar /><Baz />

const rendered = [];
const getItems = this.props.itemslist.map((item, key) => {
const TYPE = item.type;
rendered.push(<TYPE data-attributes={attributes} key={key} />);
});
return (
  <Grid>
    <Row>
    {rendered}
    </Row>
  </Grid>
);
Run Code Online (Sandbox Code Playgroud)

我可以迭代我的数组并在控制台中查看元素数组,但它们被渲染为空的 html 元素“ <foo></foo><bar></bar><baz></baz>”,而不是实际的组件。为什么会发生这种情况,更重要的是,我怎样才能渲染组件?

jsx reactjs redux

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

当文件加载到我的 GJS 应用程序中时,如何发送和接收信号?

我有一个应用程序需要打开文件并相应地更新 UI 元素。我可以选择并打开文件(并记录文件内容),但无法告诉 UI 元素进行更新。

我尝试读到我可以创建信号并将其添加到几乎任何对象,但我需要从导入库中的函数发出信号。

我正在尝试做这样的事情:(在我从磁盘读取文件的函数中)

try {
                Signals.addSignalMethods(this);
                this.emit('update_ui', true);
              } catch(e) {
                print(e);
              }
Run Code Online (Sandbox Code Playgroud)

(以及在主应用程序类中)

Signals.addSignalMethods(this);
  this.connect('update_ui',() => {
    try {
      print('>>> updating UI');
      this.ui.updateUI();
    } catch (e) {
      print(e);
    }
  });
Run Code Online (Sandbox Code Playgroud)

运行应用程序时,我没有收到任何错误,但从未调用更新函数。我怎样才能让信号通过?

以下是 main.js 文件中应捕获信号的代码:

#!/usr/bin/gjs


Gio = imports.gi.Gio;
GLib = imports.gi.GLib;
Gtk = imports.gi.Gtk;
Lang = imports.lang;
Webkit = imports.gi.WebKit2;
Signals = imports.signals;
GObject = imports.gi.GObject;
Pango = imports.gi.Pango;

//
// add app folder to path
//

function getAppFileInfo() {
  let stack = (new Error()).stack, …
Run Code Online (Sandbox Code Playgroud)

gtk gjs

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

标签 统计

gjs ×1

gtk ×1

jsx ×1

reactjs ×1

redux ×1