npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

starport-react

v0.0.2

Published

<p align="center"> <img height="300" src="./src/assets/img/logo.png" alt="React Starport"> </p>

Downloads

4

Readme

Origin

When we use the same component on different pages, the position, size, style, state, etc. of the same component may be different due to different page layouts and different UI designs. At this time, we may want to use different pages when routing jumps The same component has a transition animation to pass the same component smoothly, but the DOM structure is presented in the form of a tree, and components under different routes have different nodes, so when using the same component under different routes, it will still be Create two component instances

As shown above, the ComponentA component is used under both the pageA and pageB routes, then the component instances will be created twice on the two pages. When we jump from the pageA route to the pageB route, we will inevitably experience component unMount and reMount, execute the life cycle of the component, and the state in the component before the jump will also be lost.

Although we can use context or some global state management tools (mobx/redux) to store some states in components, and we can also use FLIP to simulate animations between different components, but this implementation is not elegant enough, because the same component It will still render twice, or go through the life cycle of component unMount and reMount

Plan

Design a proxy component floating on the root node to represent the expected position, style, etc. of the real component. After switching the route, the proxy component transfer the position, style and other information to the real component, and let it fly to the position of the proxy component in the form of tween animation

When the animation is over, transfer the real component to the corresponding proxy component through createPortal, and landing to the position corresponding to the node in the new route

With this take off and landing mechanism, the original DOM structure can be preserved through proxy components in different routes. When the route jumps, the real component takes off with the tween animation Form fly to the corresponding node position in the new route and then landing

  • still coding
  • thanks my girlfriend helping for photoshop the picture
  • Inspired by Anthony Fu

TODO-List

  • [x] smooth animation
  • [x] keepalive
  • [x] clear any type
  • [x] about -> home, picture will float to the top and then restore its position
  • [x] save the home size
  • [x] add a picture, clicked reversal, save the state
  • [ ] add animate for clicked reversal