При использовании React CommandBar в проекте SPFx, как можно построить массив items [] в отдельный файл, включая настройку состояния родительского компонента? - PullRequest
0 голосов
/ 14 октября 2019

Я новичок в React / Typescript / SPFx и использую компонент React CommandBar в своей веб-части SPFx. CommandBar нужны команды, определенные в массиве с именем farItems []. Массив items имеет свойства каждой команды, в том числе метод onClick. В моем случае метод onClick передается в мой файл CommandBar.tsx через его реквизиты.

Я могу построить массив "farItems" в том же файле tsx, что и компонент CommandBar, включая метод onClick, из родительского объекта. класс. Но я хочу переместить процесс «создания массива farItems» в отдельный файл, чтобы сделать его более пригодным для повторного использования.

Я суммировал текущее состояние кода в этой сущности

toggleTipsэто функция, которая есть у меня в главном компоненте реакции (PivotTiles.tsx) для изменения состояния. Я передаю функцию в CommandBar.tsx через его подпорки, и поэтому, если я строю массив элементов в этом файле, все хорошо. Но я хочу иметь возможность импортировать farItems [] из другого файла.

Я надеюсь, что смогу построить массив farItems [] в другом файле, чтобы его можно было многократно использовать.

Смое текущее состояние кода, у меня все работает в отдельном файле, пока я только пытаюсь добавить что-то вроде console.log () в onClick. Мое препятствие - передать функцию от родителя для изменения состояния и получить правильный синтаксис / логику.

Спасибо

1 Ответ

0 голосов
/ 15 октября 2019

Благодаря некоторой помощи от @ AndrewConnell я смог передать функцию обратного вызова. Посмотрите суть его предложения и пару мелких вещей, которые мне пришлось настроить, чтобы заставить его работать:

Разветвленный гист от Эндрю с моими комментариями в конце

...