您的位置:首页技术文章
文章详情页

react.js - javascript中如何用占位符定义restful那种url啊, angular我知道, 但是用react该用哪个库?

【字号: 日期:2023-02-25 16:28:01浏览:66作者:猪猪

问题描述

我知道angular里面的是这样的

$resource(’http://localhost:8080/web/user/:id/oper/:active’,{id: ’111’,active: ’y’})

react里面用啥呢, 是否有什么包可以实现这个功能呢

问题解答

回答1:

我用 http://localhost:8080/web/user/{id}/oper/{active} 这样形式的,和后台 SpringMvc 的 URL 形式一样,字符串替换的方法用下面的函数

/** * 扩展了 String 类型,给其添加格式化的功能,替换字符串中 {placeholder} 或者 {0}, {1} 等模式部分为参数中传入的字符串 * 使用方法: * ’I can speak {language} since I was {age}’.format({language: ’Javascript’, age: 10}) * ’I can speak {0} since I was {1}’.format(’Javascript’, 10) * 输出都为: * I can speak Javascript since I was 10 * * @param replacements 用来替换 placeholder 的 JSON 对象或者数组 */String.prototype.format = function(replacements) { replacements = (typeof replacements === ’object’) ? replacements : Array.prototype.slice.call(arguments, 0); return formatString(this, replacements);}/** * 替换字符串中 {placeholder} 或者 {0}, {1} 等模式部分为参数中传入的字符串 * 使用方法: * formatString(’I can speak {language} since I was {age}’, {language: ’Javascript’, age: 10}) * formatString(’I can speak {0} since I was {1}’, ’Javascript’, 10) * 输出都为: * I can speak Javascript since I was 10 * * @param str 带有 placeholder 的字符串 * @param replacements 用来替换 placeholder 的 JSON 对象或者数组 */var formatString = function (str, replacements) { replacements = (typeof replacements === ’object’) ? replacements : Array.prototype.slice.call(arguments, 1); return str.replace(/{{|}}|{(w+)}/g, function(m, n) {if (m == ’{{’) { return ’{’; }if (m == ’}}’) { return ’}’; }return replacements[n]; });};回答2:

自己写了一个,

/** * 格式化url占位符 * eg: http://localhost:8080/yunpan/{id}/aaa/{name} * urlFormat(url, {id: ’111’, name: ’yc’}) * => http://localhost:8080/yunpan/111/aaa/yc * * @param url * @param param * @returns {*} */export const urlFormat = (url, param) => { if (param === undefined || param === null || param === {}) {return url; } let keys = Object.keys(param); for (let key of keys) {url = url.replace(new RegExp('{' + key + '}', 'g'), param[key]); } return url;};

标签: JavaScript