I cordially invite you to take the State of React survey and vote for Bytes, react.gg, and other ui.dev things things you like about the React ecosystem. Will that finally fix my crippling self-esteem issues? There’s only one way to find out.
Ahmad Shadeed wrote the best article on the internet about how overflow: clip
works in CSS.
PropelAuth provides end-to-end managed user authentication for B2B use cases – and developers are weirdly obsessed very passionate about it. One founder said, “I’ve never come across a tool that works this well for authentication needs. Hands down, one of the best products I have ever used. 11/10 would recommend.” Their free tier is also very good. [sponsored]
Go just turned 15 years old, and I still have no idea what to wear to its quinceañera.
Elan Medoff wrote about conditional props in React using type discrimination. And if you were just like “oh, that’s exactly what I need” then I’m sending well wishes your way today.
Two Sentry engineers, Jenn Mueng and Ram Senthamarai are hosting this live demo of the new AI tools they built for Sentry. They promise to keep the AI hype to a minimum and just show you how they built smarter alerts and other cool features. [sponsored]
Jonathan Creamer got the memo for today and wrote this article about using TypeScript in Node.js scripts without actually writing TypeScript.
Remix 2.14 and React Router 6.28 were just released at the same time because they are both the same project, but also completely distinct projects with different priorities, but also one in spirit. And if that confuses you, it’s probably because you’re a hater.
Amelia Wattenberger wrote a visually beautiful article called LLMs as a tool for thought.
Daniel Schwarz wrote an in-depth article on the different (and modern) ways to toggle content, which everyone seems to really like. Kind of like this “different and modern” version of Get Low that Mark Zuckerberg made with T-Pain to give his wife as an anniversary gift.
What does this function do?
const surprise = (...fns) => input => fns.reduce(
(acc, fn) => fn(acc), input
)
It’s a pipe
function that allows you to chain multiple operations together by taking a series of functions as arguments and applying them in a specific order to the input.
Wow, words.
Instead of doing something like this.
const toUpperCase = str => str.toUpperCase()
const removeSpaces = str => str.replace(/\s/g, "")
const addExclamation = str => str + "!"
toUpperCase(removeSpaces(addExclamation("Subscribe to Bytes")))
You can do something like this.
const pipe = (...fns) => input => fns.reduce(
(acc, fn) => fn(acc), input
)
const formatString = pipe(toUpperCase, removeSpaces, addExclamation)
formatString("Subscribe to Bytes") // SUBSCRIBETOBYTES!
There’s currently a perpetual TC39 proposal for adding a true Pipe operator (|>) to JavaScript.
Built with ❤️ by uidotdev
50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101
我诚挚地邀请您参加 [React 状态调查](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/7qh7h2uoreomw9fz/aHR0cHM6Ly9zdXJ2ZXkuZGV2b2dyYXBoaWNzLmNvbS9lbi1VUy9zdXJ2Z Xkvc3RhdGUtb2YtcmVhY3QvMjAyNA==) 并为 Bytes、react.gg 和其他 ui.dev 投票React 生态系统中你喜欢的东西。这最终能解决我严重的自尊问题吗?只有一种方法可以找到答案。
Ahmad Shadeed 在互联网上写了一篇关于 [CSS 中 overflow: Clip
如何工作] 的最佳文章(https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/owkhwur2er7ggav/aHR0cHM6Ly9pc2hhZGVlZC5jb20vYXJ0aWNsZS9vdmVyZmxvdy 1jbGlwLw==)。
PropelAuth 为 B2B 用例提供[端到端托管用户身份验证](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/z2hgh7u3qz38pwbp/aHR0cHM6Ly93d3cucHJvcGVsYXV0aC5jb20vP3V0bV9jYW1w YWlnbj1ieXRlc25vdjI0JnV0bV9zb3VyY2U9bmV3c2xldHRlcg==) – 开发人员奇怪地痴迷非常热情它。一位创始人表示:“我从未遇到过能够如此有效地满足身份验证需求的工具。毫无疑问,这是我用过的最好的产品之一。 11/10 会推荐。”他们的免费套餐也非常好。 [赞助]
Go 刚满 15 岁,我仍然不知道在其成人礼上穿什么。
Elan Medoff 写了关于 [React 中使用类型区分的条件属性](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/x0hph3uw5mwl9kt5/aHR0cHM6Ly9lbGFubWVkLmRldi9ibG9nL2NvbmRpdGlvbmFsLXByb3BzLX VzaW5nLXR5cGUtZGlzY3JpbWluYXRpb24 =)。如果您只是想“哦,这正是我需要的”,那么我今天就向您致以良好的祝愿。
两位 Sentry 工程师 Jenn Mueng 和 Ram Senthamarai 正在主持[他们为 Sentry 构建的新 AI 工具的现场演示](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/6qhehou7m47dnzfo/aHR0cHM6Ly9zZW50cnkuaW8vcmVzb3VyY2VzL2RlYn VnLWZhc3Rlci1zZW50cnktYWktbGl2ZS1kZW1vLz91dG1fY2FtcGFpZ249YWktZnkyNXE0LWFpd29ya3Nob3AmdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1haXdvcmtzaG9wLXJzdnAmdXRtX2 1lZGl1bT1wYWlkLWNvbW11bml0eSZ1dG1fc291cmNlPWJ5dGVz)。他们承诺将人工智能炒作降到最低,只是向您展示他们如何构建更智能的警报和其他很酷的功能。 [赞助]
Jonathan Creamer 收到了今天的备忘录,写了一篇关于 [在 Node.js 脚本中使用 TypeScript 而无需实际编写 TypeScript] 的文章(https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/kkhmh2ulkpl36wfl/aHR0cHM6Ly93d3cuam9uYXRoYW5jcmVhbWVyLmNvbS 91c2luZy10eXBlc2NyaXB0LWluLW5vZGUtanMtc2NyaXB0cy13aXRob3V0LWFjdHVhbGx5LXdyaXRpbmctdHlwZXNjcmlwdC8 =)。
[Remix 2.14 和 React Router 6.28](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/58hvh8umrwmzk2u6/aHR0cHM6Ly9yZW1peC5ydW4vZG9jcy9lbi9tYWluL3N0YXJ0L2Z1 dHVyZS1mbGFncyN1bnN0YWJsZV9yb3V0ZWNvbmZpZw==) 刚刚同时发布,因为它们都是同一个项目,但也完全不同项目具有不同的优先级,但在精神上却是一致的。如果这让你感到困惑,那可能是因为你是一个仇恨者。
Amelia Wattenberger 写了一篇视觉精美的文章,名为[法学硕士作为思考工具](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/25h2h9u2kx2e4za3/aHR0cHM6Ly93YXR0ZW5iZXJnZXIuY29tL3Rob3VnaHRzL2x sbXMtYXMtYS10b29sLWZvci10aG91Z2h0)。
Daniel Schwarz 撰写了一篇关于[切换内容的不同(和现代)方法]的深入文章(https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/qvh8h8ur93r0omsl/aHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS90aGUtZGlmZmVyZ W50LWFuZC1tb2Rlcm4td2F5cy10by10b2dnbGUtY29udGVudC8=),每个人似乎都非常喜欢。有点像这个[“不同和现代”版本的Get Low](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/g3hnhwu3423k64ar/aHR0cHM6Ly9vcGVuLnNwb3RpZnkuY29tL3RyYWNrLzNXbjFaT05KWDJ5ZmJ 6V28yYVB1UU4_c2k9ODljMTQxMmQ3NjQxNGZlYQ==) 是马克·扎克伯格用 T-Pain 制作送给妻子的作为周年纪念礼物。
这个函数有什么作用?
const surprise = (...fns) => input => fns.reduce(
(acc, fn) => fn(acc), input
)
它是一个“管道”函数,允许您通过将一系列函数作为参数并将它们按特定顺序应用到输入来将多个操作链接在一起。
哇,言语。
而不是做这样的事情。
const toUpperCase = str => str.toUpperCase()
const removeSpaces = str => str.replace(/\s/g, "")
const addExclamation = str => str + "!"
toUpperCase(removeSpaces(addExclamation("Subscribe to Bytes")))
你可以做这样的事情。
const pipe = (...fns) => input => fns.reduce(
(acc, fn) => fn(acc), input
)
const formatString = pipe(toUpperCase, removeSpaces, addExclamation)
formatString("Subscribe to Bytes") // SUBSCRIBETOBYTES!
目前有一个永久的 [TC39 提案](https://click.convertkit-mail4.com/qdu9on96w0s7h7xvmlohgu8lgxkkkb4/9qhzhdupo8plz5c9/aHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcGlwZWxpbmUtb3BlcmF0b3I =) 用于向 JavaScript 添加真正的管道运算符 (|>)。
使用 ❤️ 构建,作者:uidotdev
50 W Broadway Ste 333 PMB 51647 盐湖城,犹他州 84101
发布者