Я не очень хорош в создании методов Objective-C для нативных компонентов.Но из документов мы можем видеть:
Тип возвращаемых методов моста всегда void.React Native bridge является асинхронным, поэтому единственный способ передать результат в JavaScript - использовать обратные вызовы или отправку событий (см. Ниже).
Так что я думаю, что самым простым вариантом будет использованиефункция обратного вызова для отправки данных на сторону JS.
Итак, что-то вроде этого должно быть в вашем файле .m
.
RCT_EXPORT_METHOD(getEmployeeList:(RCTResponseSenderBlock)callback)
{
NSArray *employeeList = ... (*)
callback(@[[NSNull null], employeeList]);
}
(*) employeeList, я бы предположил, что это будет массив словарей.Отображение ваших данных в цикле, так что все сотрудники будут проходить итерации, прежде чем они будут добавлены в employeeList.Поскольку я не знаю ваших структур данных, я думаю, что вы сможете это придумать.Функция вычисления возраста, которую вам, возможно, придется реализовать на стороне JS, поскольку я не думаю, что вы можете передать функцию как часть словаря.
Тогда вы могли бы использовать что-то подобное на стороне JS, чтобызахватить данные.
NativeModules.EmployeeModule.getEmployeeList((error, employees) => {
if(error) {
console.error(error);
} else {
this.setState({employees});
}
});