比方我现在有一个props里有一个funnellist的值,现在要通过这个list获取到defaultprops
list: funnellist.map(item => item,name),state里要用到这个list,city: list[0],setstate的时候也是从list里获取值,虽然感觉和构造函数继承props的顺序有问题,但是我觉得这个值是不变的只读的所以想放到defaultprops里而不是state里,这样可行么
比方我现在有一个props里有一个funnellist的值,现在要通过这个list获取到defaultprops
list: funnellist.map(item => item,name),state里要用到这个list,city: list[0],setstate的时候也是从list里获取值,虽然感觉和构造函数继承props的顺序有问题,但是我觉得这个值是不变的只读的所以想放到defaultprops里而不是state里,这样可行么
可以的。 defaultProps的意思是这个组件没有 某个props 的时候,默认给一个,比如一个分页组件的 page :1.
你的意思你感觉不变所以要放到props里,我有点不解。
你当然可以给定一个props,而且这个props不会 被父级的组件传下来,那就是不会变的。
如果父级组件给它传了,那就是可变的。
看你的意思是这个数据,应该是container传下来的。可以给定一个初始的值。
然后状态变化放到子组件的state...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
defaultProps 的值就是 props 的默认值,不需要用 props 的值去设置 defaultProps。如果组件中一个值不需要改变或能被计算出来,即可设置为 props,如果它有默认值,在 defaultProps 设置即可。