Comments (12)
👍
from material-ui.
👍
from material-ui.
+1
from material-ui.
Yes, I think we'd definitely like to go in this direction. We'll work this into the next release or 2.
from material-ui.
H
from material-ui.
Maybe you could keep both. For menus and navigation, where the structure is well known, I think it makes sense to make it more of a configuration. If I want to quickly implement a menu I don't want to import/remember all of the sub menu components.
Wouldn't a simple if statement allow for overrides, though. Something like:
if (this.props.children) {
return this.props.children;
} else {
// Build it using the config
}
from material-ui.
@kylefinley are you looking to have the config so you don't have to recreate the same jsx over and over again? If so, how are you doing this with the config? Can you just replace that with JSX dom structures?
from material-ui.
Yes, I see your point.
I'm new to React, so perhaps my suggestion is not idiomatic. But the thing I like about the current implementation, and React for that matter, is that it feels more like JavaScript than HTML. Instead of using JSX, or even nested React functions; Material-UI simply uses JavaScript data structure (Objects and Arrays) to define the structure, E.g. Menus
At the end of the day it's just personal preference. I just though that the use of Objects
and Arrays
to define the structure was novel. Obviously it only works if you are able to optimize for the 95% usecase and allow overriding with JSX dom for the remaining 5%.
from material-ui.
@kylefinley I feel you. One of the things that using react also does though is let your templates and your js merge so that your typical html/css devs work on end product and not just mocks.
from material-ui.
Has there be any updates in this regard? I'm very interested in this.
from material-ui.
+1
from material-ui.
#1319
I made this that does exactly what you are expecting!
from material-ui.
Related Issues (20)
- [docs-infra] IntelliSense (quick info) on code previews
- [material-ui][ListItem] Remove props which have been deprecated since 2021 HOT 2
- [tabs] How to stop re-rendering it? HOT 2
- Select value prop HOT 1
- [experimental_extendTheme] Unable to use custom css variable in theme HOT 2
- [material-ui][Menu] Several menu items inside a component are not accessible HOT 3
- [material-ui][Menu] Menu Item custom attribute is not accessible on a select TextField's onChange
- [examples] Build error on the material-ui-nextjs-ts project HOT 2
- [material-ui][docs] v4 docs not available HOT 5
- [material-ui][TextareaAutosize] Resizing unstable and styles not applied in v5.15.11 HOT 3
- [material-ui][Alert] Can't set `slots` in theme's `defaultProps` in 5.15.11 HOT 3
- [icons] Mismatch design for `ThumbUpOffAltSharp` compared to `ThumbDownOffAltSharpIcon` HOT 3
- [material-ui][Autocomplete] Popover does not resize when `disableCloseOnSelect` is true for multiple variant when contained in a flex container HOT 1
- [material-ui][DialogContent] Problem with Tailwind CSS classes HOT 1
- [system][core] Use npm package name for folder name HOT 1
- [joy-ui] Add Spin component HOT 6
- [material-ui][Button] Hover animation glitches when component state changes HOT 1
- [material-ui][Select] SelectProps suddenly break by making variant required HOT 10
- [material-ui][StepLabel] Component displayed in the correct direction HOT 2
- [material-ui][ButtonGroup] Problems with inheriting styles from shared component HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui.