资讯专栏INFORMATION COLUMN

一个简单且灵活易用的 React 格式化和 i18n 工具

20171112 / 1274人阅读

摘要:是一个简单且灵活易用的格式化和工具。它通过连接组件给组件一个默认为的。是一个可以根据不同的显示不同内容的函数。和内容之间的关系可以灵活地通过配置确定。在线互动演示最简单的使用方式你好欢迎你好欢迎也可与相连

react-put 是一个简单且灵活易用的格式化和 i18n 工具。

它通过“连接”组件给组件一个默认为 putpropsput 是一个可以根据不同的 key 显示不同内容的函数。 key 和 内容之间的关系可以灵活地通过配置确定。

NPM
GitHub
在线互动演示

最简单的使用方式:

// App.js 
import connectPut from "react-put"
 
class App extends Component {
  render() {
    return (
      

{this.props.put("hello")}, {this.props.put("welcome", "username")}

{this.props.put("haveApple", "username", 3)}

{this.props.put("testKey")}

); } } const options = { dictionary: { hello: "你好", welcome: name => `欢迎${name}`, haveApple: (name, amount) => `${name} has ${amount} ${amount === 1 ? "apple" : "apples"}`, }, mapPropToDictionary: props => props, // You can do something wild with this option }; export default connectPut(options)(App); // test.js import App from "./App"; ... render() { return } ... // renders:

你好, 欢迎username

username has 3 apples

someValue

也可与 redux 相连

class App extends Component {
  constructor(props) {
    super(props);
    this.changeLanguage = () => {
      this.props.dispatch({ type: "SET_DICT", dictionary: {...} }); // Assume SET_DICT is received by dictionary reducer 
    };
  }
  render() {
    return (
      

{this.props.put("hello")}, {this.props.put("welcome", "username")}

{this.props.put("haveApple", "username", 3)}

{this.props.put("testKey")}

); } } const options = { mapPropToDictionary: props => Object.assign({}, props.dictionary), }; const mapStateToProps = state => Object.assign({}, { dictionary: state.dictionary }); ConnectedApp = connectPut(options)(App); ConnectedApp = connect(mapStateToProps)(ConnectedApp);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81321.html

相关文章

  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    netmou 评论0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    Hydrogen 评论0 收藏0
  • javascript功能插件大集合,写前端亲们记得收藏

    摘要:一个专注于浏览器端和兼容的包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。完全插件化的工具,能在中识别和记录模式。健壮的优雅且功能丰富的模板引擎。完整的经过充分测试和记录数据结构的库。 【导读】:GitHub 上有一个 Awesome – XXX 系列的资源整理。awesome-javascript 是 sorrycc 发起维护的 JS 资源列表...

    cfanr 评论0 收藏0
  • JavaScript 资源大全中文版

    摘要:官网全新的静态包管理器。官网一个整合和官网的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。官网小巧的兼容的所见即所得的富文本编辑器。官网富文本编辑器。官网由制作,适用于每天写作的富文本编辑器。 1. 包管理器 管理着 javascript 库,并提供读取和打包它们的工具。 npm:npm 是 javascript 的包管理器。官网 cnpm:cnpm 是 由于国...

    jzman 评论0 收藏0
  • [ 一起学React系列 -- 10 ] i18n

    摘要:假如有这么一段句子这件衣服是人民币如果我们想将一个数字以人民币的形式写进去的话可以这么做最终显示结果是这件衣服是人民币其实它做了两件事一个是加符号,另一个是加分隔符。同时表示人民币,表示美元。 今天来介绍一个非常international的东西。 i18n国际化(internationalization)的简称。之所以叫i18n,是因为字母i和n之间有18个字母,所以才叫i18n。不...

    biaoxiaoduan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<