Если я вас правильно понимаю, есть два шага, которые вы хотите выполнить:
- Чтобы создать
string
из list(string)
, предпочтительно отформатированный так же, как Array.toString
,то есть через запятую без квадратных скобок и без использования каких-либо специфичных для JavaScript API. - Чтобы отобразить строку как компонент ReasonReact.
Шаг 1: Преобразование строки
Это можно сделать с помощью String.concat
:
let myList = ["a", "b", "c"];
let myString = String.concat(", ", myList);
, который вернет "a, b, c"
Шаг 2: Отобразить как компонент ReasonReact
Визуализация строк в ReasonReact выполняется с использованием ReasonReact.string
.Вот полный, работающий пример того, как компонент берет реквизит items
типа list(string)
и отображает его в элементе <span>
.
module ListRenderer = {
let component = ReasonReact.statelessComponent("ListRenderer");
let make = (~items, _children) => {
...component,
render: _self =>
<span> {ReasonReact.string(String.concat(", ", items))} </span>
};
};
ReactDOMRe.renderToElementWithId(<ListRenderer items=["a", "b", "c"] />, "preview");
ссылка на игровую площадку