Как отделить часть JSX от функции рендеринга

0

Все:

Я новичок в React.js и просто использую немного AngularJS, есть один вопрос о React.js:

В AngularJS часть HTML обычно отделяется от JS-кода в качестве шаблона, мне нравится этот способ, который делает код чистым, интересно , есть ли аналогичный способ, который я могу сделать в React, или просто использовать функцию для применения this.state/this.props для части HTML?

благодаря

  • 0
    Если вы структурируете большинство своих компонентов так, что они не сохраняют состояния, это в основном просто JSX и подпорки. facebook.github.io/react/blog/2015/09/10/...
  • 0
    И если вы действительно хотите отделить JSX, это просто javascript, так что вы всегда можете поместить это в отдельный файл и импортировать в компонент. Не уверен, что это будет чище, хотя.
Показать ещё 1 комментарий

1 ответ

1
Лучший ответ

Функция render - это просто синхронная функция. Пока шаблон уже загружен чем-то, вы можете это сделать абсолютно.

//Some module that has loaded the HTML
import jsxStore from 'jsxStore';

class SillyComponent extends React.Component {
    render() {
        return jsxStore.getSillyComponent(this.props, this.state);
    }
}

Задача здесь заключается в обеспечении того, чтобы HTML был загружен ко времени выполнения этого вызова, поскольку render не принимает асинхронные результаты. HTML должен быть загружен, прежде чем компонент попытается что-либо сделать.

Следует отметить, что вы боретесь с Реатом, делая это. Идея React для компонента - это автономный пакет кода и представления. Цель состоит в том, чтобы сохранить компонент в одном файле, чтобы вы могли сразу увидеть все это. Это отличается от рамок, таких как Угловое преднамеренно. Если вам это не нравится, React не подходит для вас.

  • 0
    Спасибо, в настоящее время я занимаюсь визуализацией данных, которая требует большого количества манипуляций с DOM (создание сложной структуры DOM с огромным количеством стилей), я думал, что концепция компонента из React поможет, но когда это станет реальностью, этого действительно сложно достичь.
  • 1
    Я не думаю, что есть что-то о визуализации данных и множестве манипуляций с DOM, что противоречит React. Вам придется адаптировать свое мышление, потому что React сильно отличается от Angular. Если вы попытаетесь использовать React так же, как вы используете Angular, у вас будет плохое время. Даже вещи, к которым хорошо подходит React, будут трудными, если вы попытаетесь использовать их как Angular.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню