@@ -67,12 +67,6 @@ let renderItem = (reRenderItem: renderBag('item) => ReasonReact.reactElement) :
6767
6868let section = (~data, ~key=?, ~renderItem=?, () ) => {data, key, renderItem};
6969
70- let renderSectionAffix =
71- fun
72- | None => None
73- | Some (f ) =>
74- Some (((data: {. "section": jsSection (' item )}) => data## section |> jsSectionToSection |> f));
75-
7670let sections = (reSections) : sections('item) =>
7771 Array . map(
7872 (reSection) => {
@@ -111,6 +105,12 @@ type viewToken('item) = {
111105 "section" : section('item)
112106};
113107
108+ type renderAccessoryView (' item ) =
109+ [@ bs ] (jsSection('item) => ReasonReact . reactElement);
110+
111+ let renderAccessoryView = (renderer) =>
112+ [@ bs ] ((section) => [@ bs ] renderer(jsSectionToSection(section)));
113+
114114let make :
115115 (
116116 ~sections : sections (' item ),
@@ -133,8 +133,8 @@ let make:
133133 =?,
134134 ~onRefresh : unit => unit =?,
135135 ~refreshing : bool =?,
136- ~renderSectionHeader : section (' item ) => ReasonReact . reactElement =?,
137- ~renderSectionFooter : section (' item ) => ReasonReact . reactElement =?,
136+ ~renderSectionHeader : renderAccessoryView (' item )=?,
137+ ~renderSectionFooter : renderAccessoryView (' item )=?,
138138 ~stickySectionHeadersEnabled : bool =?,
139139 array (ReasonReact . reactElement )
140140 ) =>
@@ -180,8 +180,8 @@ let make:
180180 "onRefresh" : from_opt(onRefresh),
181181 "onViewableItemsChanged" : from_opt(onViewableItemsChanged),
182182 "refreshing" : from_opt(UtilsRN . optBoolToOptJsBoolean(refreshing)),
183- "renderSectionHeader" : from_opt(renderSectionHeader |> renderSectionAffix ),
184- "renderSectionFooter" : from_opt(renderSectionFooter |> renderSectionAffix ),
183+ "renderSectionHeader" : from_opt(renderSectionHeader),
184+ "renderSectionFooter" : from_opt(renderSectionFooter),
185185 "stickySectionHeadersEnabled" :
186186 from_opt(UtilsRN . optBoolToOptJsBoolean(stickySectionHeadersEnabled))
187187 }
0 commit comments