Информация об изменениях

Сообщение Re[2]: Sciter Reactor от 03.11.2019 22:06

Изменено 03.11.2019 22:07 c-smile

Re[2]: Sciter Reactor
Здравствуйте, cgibin, Вы писали:


C>Привет, сейчас реакт дрейфует в сторону хуков(useState, useEffect и т.п), что-то подобное планируется?

C>я так понял, внутри SSX скрипт нельзя использовать?

Можно. Но для генерации контента только.
Для событий есть event handlers в скрипте.

Писать script внутри markup это ересь которую осудили все ведущие собаководы давным давно.

C>как в sciter'e сейчас будет выглядеть что-то подобное:


Так вот

class UploadWrapper : Reactor.Component {

  const styleset = ["upload", $url(components.css)]; // CSS declaration

  function this(params,children) {
    this.extend(params);
    this.children = children;
  }

  function render() {
    return 
      <label class={this.className}>
        <input|file
          hidden={true}
          multiple={this.multiple}
          :disabled={this.disabled} />
        {this.children}
      </label>;
  }

  event change $(input|file) (evt,fileInput) {
    var fileName = fileInput.value;
    if(this.onchange)
      this.onchange(fileName)
  }
}



C>можно ли прокидывать SSX как пропсы?


Да.

  <UploadWrapper onclick={(filename) => … }>
    <p>Choose file</p>
  </UploadWrapper>


Тут <p>Choose file</p> попадет в function this(params,children) как children коллекция.
Re[2]: Sciter Reactor
Здравствуйте, cgibin, Вы писали:


C>Привет, сейчас реакт дрейфует в сторону хуков(useState, useEffect и т.п), что-то подобное планируется?

C>я так понял, внутри SSX скрипт нельзя использовать?

Можно. Но для генерации контента только.
Для событий есть event handlers в скрипте.

Писать script внутри markup это ересь которую осудили все ведущие собаководы давным давно.

C>как в sciter'e сейчас будет выглядеть что-то подобное:


Так вот

class UploadWrapper : Reactor.Component {

  const styleset = ["upload", $url(components.css)]; // CSS declaration

  function this(params,children) {
    this.extend(params);
    this.children = children;
  }

  function render() {
    return 
      <label class={this.className}>
        <input|file
          hidden={true}
          multiple={this.multiple}
          :disabled={this.disabled} />
        {this.children}
      </label>;
  }

  event change $(input|file) (evt,fileInput) {
    var fileName = fileInput.value;
    if(this.onchange)
      this.onchange(fileName)
  }
}



C>можно ли прокидывать SSX как пропсы?


Да.

  <UploadWrapper onchange={(filename) => … }>
    <p>Choose file</p>
  </UploadWrapper>


Тут <p>Choose file</p> попадет в function this(params,children) как children коллекция.