推荐开源项目:@expensify/react-native-live-markdown

推荐开源项目:@expensify/react-native-live-markdown

react-native-live-markdown Drop-in replacement for React Native's TextInput component with Markdown formatting. react-native-live-markdown 项目地址: https://gitcode.com/gh_mirrors/re/react-native-live-markdown

@expensify/react-native-live-markdown

项目介绍

@expensify/react-native-live-markdown 是一款功能强大的 React Native 组件,旨在为开发者提供实时 Markdown 格式化的文本输入体验。作为 <TextInput> 组件的替代品,它能够在用户输入的每一瞬间同步进行格式化,极大地提升了用户交互体验。

项目技术分析

核心技术

  • React Native: 项目基于 React Native 框架,保证了跨平台(Android、iOS、Web)的一致性和高性能。
  • 原生体验: 通过集成原生代码,实现了包括文本选择、拼写检查和自动完成等原生功能,确保用户获得流畅的操作体验。
  • 自定义样式: 支持通过 style 属性进行样式定制,同时也允许对 Markdown 格式化内容的样式进行深度定制。

安装与使用

首先,通过 npm 或 yarn 安装库:

yarn add @expensify/react-native-live-markdown
npm install @expensify/react-native-live-markdown --save
npx expo install @expensify/react-native-live-markdown

然后,安装 iOS 依赖:

cd ios && pod install

使用示例:

import {MarkdownTextInput} from '@expensify/react-native-live-markdown';
import React from 'react';

export default function App() {
  const [text, setText] = React.useState('Hello, *world*!');

  return (
    <MarkdownTextInput
      value={text}
      onChangeText={setText}
    />
  );
}

项目及技术应用场景

  1. 实时编辑器: 适用于需要实时显示 Markdown 格式化效果的编辑器应用。
  2. 聊天应用: 在聊天应用中,用户可以实时看到输入内容的格式化效果,提升沟通效率。
  3. 内容管理系统: 用于后台内容的编辑和管理,提供直观的格式化预览。
  4. 教育平台: 在教学场景中,教师和学生可以实时编辑和查看 Markdown 格式的文档。

项目特点

  • 即插即用: 直接替换 <TextInput> 组件,无需复杂配置。
  • 实时格式化: 每次键击都能看到格式化效果,提升用户体验。
  • 原生体验: 完全的原生体验,支持文本选择、拼写检查和自动完成。
  • 样式自定义: 支持通过 stylemarkdownStyle 属性进行深度样式定制。
  • 跨平台支持: 兼容 Android、iOS 和 Web 平台。
  • 新架构支持: 支持 React Native 新架构,确保未来兼容性。

自定义样式示例

import type {MarkdownStyle} from '@expensify/react-native-live-markdown';

const FONT_FAMILY_MONOSPACE = Platform.select({
  ios: 'Courier',
  default: 'monospace',
});

const markdownStyle: MarkdownStyle = {
  syntax: {
    color: 'gray',
  },
  link: {
    color: 'blue',
  },
  h1: {
    fontSize: 25,
  },
  emoji: {
    fontSize: 20,
  },
  blockquote: {
    borderColor: 'gray',
    borderWidth: 6,
    marginLeft: 6,
    paddingLeft: 6,
  },
  code: {
    fontFamily: FONT_FAMILY_MONOSPACE,
    fontSize: 20,
    color: 'black',
    backgroundColor: 'lightgray',
  },
  pre: {
    fontFamily: FONT_FAMILY_MONOSPACE,
    fontSize: 20,
    color: 'black',
    backgroundColor: 'lightgray',
  },
  mentionHere: {
    color: 'green',
    backgroundColor: 'lime',
  },
  mentionUser: {
    color: 'blue',
    backgroundColor: 'cyan',
  },
};

<MarkdownTextInput
  value={text}
  onChangeText={setText}
  style={styles.input}
  markdownStyle={markdownStyle}
/>

兼容性

react-native-live-markdown 需要 React Native 0.74 或更高版本。

许可证

MIT


由 Software Mansion + Expensify 提供

立即体验 @expensify/react-native-live-markdown,提升你的应用交互体验!

react-native-live-markdown Drop-in replacement for React Native's TextInput component with Markdown formatting. react-native-live-markdown 项目地址: https://gitcode.com/gh_mirrors/re/react-native-live-markdown

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨元诚Seymour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值