如何将数据从 React-Native 中的 function/Custom 钩子传递到 Swift?

How to Pass Data from function/Custom Hooks in React-Native to Swift?

我打算将数据从 React-Native 传递到 Swift。发送数据的方法可以是一个钩子,也可以是一个函数。阅读文档后,我只找到了将组件传递给 Swift 视图的选项,这对我的情况没有帮助。数据可以是任何类型。我在下面给出了一个示例钩子和一个函数。请告诉我最好的方法。

我试过使用 module.exportsrequireNativeComponent 但没有成功。

提前致谢

useFetchData.ts

import {useEffect, useState} from 'react';
import axios from 'axios';

const useFetchData = () => {
  const [data, setData] = useState({});

  useEffect(() => {
    const fetchData = async () => {
      try {
        const {data: response} = await axios.get(
          'https://hn.algolia.com/api/v1/search?query=redux',
        );
        setData(response);
      } catch (error) {
        console.error(error);
      }
    };

    fetchData();
  }, []);

  return {data};
};

export default useFetchData;

FunctionExample.ts

const sampleFunction = () => {
   return "This is Sample Data"
}

我还在 Obj-C 中为 RCT_CUSTOM_VIEW_PROPERTY

设置了桥
#import <Foundation/Foundation.h>
#import "ReactImports.h"
#import <React/RCTView.h>


@implementation ReactImports

RCT_EXPORT_MODULE()

- (UIView *)view
{
    return [[UIView alloc] init];
}

RCT_CUSTOM_VIEW_PROPERTY(reactNativePropString, NSString, UIView)
{
    view.accessibilityLabel = json ? [RCTConvert NSString:json] : defaultView.accessibilityLabel;
}
@end

您可以创建原生模块并公开函数以响应原生。在 RN 端,您调用传递所需值的函数。

https://reactnative.dev/docs/native-modules-intro

如果您遇到问题,请在 linkedin 上给我发消息,我会尽力帮助您。